Вопрос

Мне нужно найти все совпадения слов, которые строго начинаются с «$» и содержат только цифры.Поэтому я написал

[$]\d+

что дало мне 4 совпадения за

$10 $10 $20a a$20

поэтому я подумал об использовании границ слов с помощью \b:

[$]\d+\b

Но оно снова совпало

мне 20 долларов.

Я пытался

\b[$]\d+\b

но я потерпел неудачу.

Я ищу фразу: ПРИНИМАЙТЕ ТОЛЬКО ЕСЛИ СЛОВО НАЧИНАЕТСЯ С $ и за ним следуют ЦИФРЫ.Как мне сказать, что ЭТО НАЧИНАЕТСЯ С $, потому что я думаю, что \b заставляет его принимать границы слов, что означает окружение внутри буквенно-цифровых символов.

Каково решение?

Это было полезно?

Решение

Не лучшее решение, но это должно сработать. (Это с вашим тестовым примером)

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

Другие советы

Попытался ли ты

\B\$\d+\b

Вы были близки, вам просто нужно сбежать от $:

\B\$\d+\b

См. примеры совпадений здесь: http: // regexhero. сеть / тестер /? ID = 79d0ac3b-dd2c-4872-abb4-6a9780c91fc1

Попробуйте с помощью ^ \ $ \ d +

где ^ обозначает начало строки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top