如何使用.Net正则表达式检查这样的表达式(9 + 5)*(8/2)?换句话说,唯一有效的字符是[0-9]和()+ - * /

时间:2015-11-21 05:05:26

标签: c# regex

我知道如何检查号码0-9。但是,每次添加()+-*/时,它都不起作用。我尝试了以下组合 ^[0-9|(|)|-|+|*|/]$ and ^[0-9][()-+*/]$

1 个答案:

答案 0 :(得分:1)

阅读character classes,并以正确的方式使用。

您允许的字符为[()0-9/*+-],其中重要的是要转义-或将其放在类的开头/结尾以表示不指定范围。附上a quantifier +一个或多个或*任意金额和anchor就像你一样,所以模式会变成这样。

^[()0-9/*+-]+$

See demo at regexstorm