我有简单的正则表达式@“ [[a-zA-Z]”来匹配字符串中的所有字符az,但是我还需要数学运算符(*,/,+,-)。我正在阅读msdn上的文档,但是由于数学运算符被用作正则表达式中的其他标记,所以我很快就迷路了
此解决方案有效:
@"[A-Za-z\*\+\-\/]"
感谢大家的帮助和资源。
正确答案是
@"[A-Za-z*+/-]"
或@"[A-Za-z-*+/]"
或@"[-A-Za-z*+/]"
或@"[A-Za-z*\-+/]"
。
或者,使用不区分大小写的修饰符将其缩短:(@"(?i)[A-Z*+/-]"
或使用与对应的RegexOptions.IgnoreCase
,@"[A-Z*+/-]"
因为似乎您正在使用C#)。
在字符类中,未转义的连字符应位于开始或最终位置以被视为文字,或者紧接在范围或速记类之后。否则,必须将其转义。另外,]
如果不在字符类的开头,则必须转义。其他字符不必在字符类中隐藏。
要进行测试,请使用适当的在线正则表达式测试器。您需要一个用于.NET,见正则表达式演示在RegexStorm。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句