Question

Je dois trouver toutes les correspondances de mot commençant strictement par " $ " et ne contient que des chiffres. Alors j'ai écrit

[$]\d+

qui m'a donné 4 matches pour

$10 $10 $20a a$20

alors j'ai pensé à utiliser les limites de mots en utilisant \ b:

[$]\d+\b

Mais cela correspond à nouveau

un 20 $ pour moi.

j'ai essayé

\b[$]\d+\b

mais j'ai échoué.

Je cherche à dire, ACCEPTER SEULEMENT SI LE MOT COMMENCE PAR $ et est suivi de DIGITS. Comment puis-je dire CELA COMMENCE AVEC $, car je pense que \ b lui fait supposer des limites de mots, ce qui signifie entourées de caractères alphanumériques.

Quelle est la solution?

Était-ce utile?

La solution

Ce n’est pas la meilleure solution, mais cela devrait fonctionner. (Avec votre cas de test)

(?<=\s+|^)\$\d+\b

Autres conseils

Avez-vous essayé

  

\ B \ $ \ d + \ b

Vous étiez proches, il vous suffit d'échapper au $:

\B\$\d+\b

Voir les exemples de correspondances ici: http: // regexhero. net / tester /? id = 79d0ac3b-dd2c-4872-abb4-6a9780c91fc1

Essayez avec ^ \ $ \ d +

où ^ désignait le début d'une chaîne.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top