如何避免匹配以#开头的数字字符串?

时间:2019-01-28 06:30:11

标签: c# .net regex regex-negation

我正在使用下面的正则表达式来匹配包括小数在内的数字,并在引号(“)中包含负数。 我应该做些什么改变,使其与“#1200”不匹配?

\"(-?\d*.?\d+)\"

"1200"     ---> matches as expected
"1200.67"  ---> matches as expected
"-1200"    ---> matches as expected
"-1200.67" ---> matches as expected
"#1200"    ---> I'm not expecting this to match. As you can see It has # at the beginning.

1 个答案:

答案 0 :(得分:3)

我相信它是您的正则表达式中的.。您尚未转义它,因此它被解释为“匹配任何字符”。如果您这样逃避它,它应该可以工作:

\"(-?\d*\.?\d+)\"