我需要找到严格以“$”开头且仅包含数字的单词的所有匹配项。所以我写了
[$]\d+
这给了我 4 场比赛
$10 $10 $20a a$20
所以我想到了使用 \b 来使用单词边界:
[$]\d+\b
但它再次匹配
给我20美元。
我试过
\b[$]\d+\b
但我失败了。
我正在寻找说,仅当单词以 $ 开头并且后跟 DIGITS 时才接受。我如何告诉它以 $ 开头,因为我认为 \b 使它假定单词边界,这意味着包围在字母数字字符内。
解决办法是什么?
我需要找到严格以“$”开头且仅包含数字的单词的所有匹配项。所以我写了
[$]\d+
这给了我 4 场比赛
$10 $10 $20a a$20
所以我想到了使用 \b 来使用单词边界:
[$]\d+\b
但它再次匹配
给我20美元。
我试过
\b[$]\d+\b
但我失败了。
我正在寻找说,仅当单词以 $ 开头并且后跟 DIGITS 时才接受。我如何告诉它以 $ 开头,因为我认为 \b 使它假定单词边界,这意味着包围在字母数字字符内。
解决办法是什么?
不是最好的解决方案,但这应该可行。(它与您的测试用例有关)
(?<=\s+|^)\$\d+\b
你有没有尝试过
\B\$\d+\b
你很接近,你只需要逃避$:
\B\$\d+\b
在此处查看示例匹配:http ://regexhero.net/tester/?id=79d0ac3b-dd2c-4872-abb4-6a9780c91fc1
试试 ^\$\d+
其中 ^ 表示字符串的开头。