Encontrar palabras estrictamente comenzando con $, Regex C #
-
03-07-2019 - |
Pregunta
Necesito encontrar todas las coincidencias de palabras que comiencen estrictamente con " $ " y contiene solo dígitos. Entonces escribí
[$]\d+
que me dio 4 coincidencias para
$10 $10 $20a a$20
así que pensé en usar límites de palabras usando \ b:
[$]\d+\b
Pero volvió a coincidir
$ 20 para mí.
Lo intenté
\b[$]\d+\b
pero fallé.
Estoy buscando decir, ACEPTAR SOLO SI LA PALABRA COMIENZA CON $ y es seguida por DIGITS. ¿Cómo puedo decir que COMIENZA CON $, porque creo que \ b está haciendo que asuma límites de palabras, lo que significa estar rodeado de caracteres alfanuméricos?
¿Cuál es la solución?
Solución
No es la mejor solución, pero debería funcionar. (Lo hace con su caso de prueba)
(?<=\s+|^)\$\d+\b
Otros consejos
¿Has probado
\ B \ $ \ d + \ b
Estuviste cerca, solo necesitas escapar de $:
\B\$\d+\b
Vea las coincidencias de ejemplo aquí: http: // regexhero. net / tester /? id = 79d0ac3b-dd2c-4872-abb4-6a9780c91fc1
Pruebe con ^ \ $ \ d +
donde ^ denota el comienzo de una cadena.