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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top