Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ReGEX考虑非字母数字字符以外的$_C#_.net_Regex - Fatal编程技术网

C# ReGEX考虑非字母数字字符以外的$

C# ReGEX考虑非字母数字字符以外的$,c#,.net,regex,C#,.net,Regex,我有一段文字: Revenue: $12.9 billion Regex=====>Revenue\W+(\$*\s*\d+\s*(\.\s*\d+)*)\s*billion 现在,我希望在一个特定的组中使用$12.9,但使用\W+则在收入之后使用“:$”。 所以我想写这样的正则表达式,它会考虑除了“$\”/p>以外的所有非字母数字字符。 我该怎么做呢?像[^\w$]这样的字符类将匹配任何不是单词字符或$的字符。此外,不需要同时使用\s*两次,也不需要将其显示在\W+(或[^\W$]+)

我有一段文字:

Revenue: $12.9 billion
Regex=====>Revenue\W+(\$*\s*\d+\s*(\.\s*\d+)*)\s*billion
现在,我希望在一个特定的组中使用$12.9,但使用\W+则在收入之后使用“:$”。 所以我想写这样的正则表达式,它会考虑除了“$\”/p>以外的所有非字母数字字符。
我该怎么做呢?

[^\w$]
这样的字符类将匹配任何不是单词字符或
$
的字符。此外,不需要同时使用
\s*
两次,也不需要将其显示在
\W+
(或
[^\W$]+
)之后,因为前面的字符类无论如何都会吞掉任何空白字符:

Revenue[^\w$]+(\d+\s*(\.\s*\d+))\s*billion
用这个,

将匹配不匹配的
$

此处演示:


$12.9
在第一组收入中捕获

收入。\s.\d*\d*\s\w+
Revenue[^\w$]+(.\s*\d+\s*(\.\s*\d+))\s*billion