Поиск слов, строго начинающихся с $, Regex C # - PullRequest
2 голосов
/ 05 марта 2009

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

[$]\d+

, который дал мне 4 матча за

$10 $10 $20a a$20

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

[$]\d+\b

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

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

Я пытался

\b[$]\d+\b

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

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

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

Ответы [ 4 ]

6 голосов
/ 05 марта 2009

Не лучшее решение, но оно должно работать. (Это касается вашего теста)

(?<=\s+|^)\$\d+\b
3 голосов
/ 05 марта 2009

Вы пробовали

\ В \ $ \ d + \ Ъ

2 голосов
/ 14 мая 2010

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

\B\$\d+\b

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

1 голос
/ 05 марта 2009

Попробуйте с ^ \ $ \ d +

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

...