我有一个文字:
Revenue: $12.9 billion
Regex=====>Revenue\W+(\$*\s*\d+\s*(\.\s*\d+)*)\s*billion
现在我想要一个特定组中的12.9美元,但是使用\ W +后收入需要“:$”。 所以我想编写这样的正则表达式,它会考虑除“$”之外的所有非字母数字字符
我该怎么办?
答案 0 :(得分:1)
像[^\w$]
这样的角色类会匹配任何不是单词字符或$
的字符。此外,没有必要将\s*
两次放在一起,或者让它出现在\W+
(或[^\w$]+
之后,因为前面的字符类无论如何都会吞噬任何空格字符:
Revenue[^\w$]+(\d+\s*(\.\s*\d+))\s*billion
答案 1 :(得分:0)
Revenue[^\w$]+(.\s*\d+\s*(\.\s*\d+))\s*billion
使用此,
.
将匹配不匹配的$
演示:http://regex101.com/r/aQ8qP7
$12.9
在第一组中被捕获