正则表达式匹配所有字母数字和数学运算符

时间:2015-10-23 23:26:40

标签: c# regex

我有简单的正则表达式@“[a-zA-Z]”来匹配字符串中的所有字符a-z,但我还需要数学运算符(*,/,+, - )。我正在阅读有关msdn的文档,但由于数学运算符被用作正则表达式中的其他标记,我丢失的速度相对较快

此解决方案有效:

 @"[A-Za-z\*\+\-\/]"

感谢大家的帮助和资源。

1 个答案:

答案 0 :(得分:2)

正确的答案是

@"[A-Za-z*+/-]"

@"[A-Za-z-*+/]",或@"[-A-Za-z*+/]"@"[A-Za-z*\-+/]"

或者,使用不区分大小写的修饰符缩短它:@"(?i)[A-Z*+/-]"(或使用带有RegexOptions.IgnoreCase的相应@"[A-Z*+/-]",因为您似乎正在使用C#)。

在字符类中,未转义的连字符应位于开头或最终位置,以作为文字处理,或者在范围或速记类之后。否则,它必须被转义。此外,如果不是在字符类的开头,]必须进行转义。其他字符不必在字符类中包含。

要进行测试,请使用适当的在线正则表达式测试程序。您需要一个.NET,请参阅Regex demo上的RegexStorm