查找严格以$开头的单词,Regex C#

时间:2009-03-05 15:51:08

标签: c# regex word word-boundary

我需要找到严格以“$”开头且仅包含数字的所有单词匹配。所以我写了

[$]\d+

给了我4场比赛

$10 $10 $20a a$20

所以我想到使用\ b:

来使用单词边界
[$]\d+\b

但它再次匹配

我20美元。

我试过

\b[$]\d+\b

但我失败了。

我正在寻求说,只有在WORD以$开头并接着是DIGITS时才接受。我如何告诉IT STARTS WITH $,因为我认为\ b使它假定单词边界,这意味着包围在字母数字字符内。

解决方案是什么?

4 个答案:

答案 0 :(得分:6)

不是最好的解决方案,但这应该有效。 (它适用于您的测试用例)

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

答案 1 :(得分:3)

你试过吗

  

\ B \ $ \ d + \ B'/ P>

答案 2 :(得分:2)

你很接近,你只需要逃避$:

\B\$\d+\b

请参阅此处的示例匹配:http://regexhero.net/tester/?id=79d0ac3b-dd2c-4872-abb4-6a9780c91fc1

答案 3 :(得分:1)

尝试使用^ \ $ \ d +

其中^表示字符串的开头。