我正在尝试创建一个匹配具有以下条件的单词的正则表达式:
+ - & | ! ( ) { } [ ] ^ " ~ * ? : \
所以例如这些话是可以的:
testæøå
TEST12 12test
但这些应该失败:
T + ST
TE&安培; ST
答案 0 :(得分:1)
[^+\-|!(){}\[\]\^"~*?:\\]+
之类的东西怎么样?这将匹配任何不包含您要排除的字符的内容。您必须检查我是否在封闭的[
和]
答案 1 :(得分:1)
万一你不知道,C#中的正则表达式比字符串操作慢得多:
Regex in C#
但是,如果使用Regex.Compiled进行优化,则可以提高速度。但是,这会导致程序启动速度变慢。如果这将是任何类型的基于Web(C#/ Silverlight),我强烈建议使用字符串操作和搜索Regex,因为对于任何使用该页面的人来说,这将是非常慢的。
您可以轻松匹配Unicode或ASCII字符代码,并从那里接受/拒绝单词,性能更好
如果您决定使用正则表达式,请考虑Perl或其他脚本语言,使用Regex进行字符串操作要快得多。