我正在尝试创建一个正则表达式来匹配具有以下条件的单词:
- 匹配可以包含以下字符的单词:æøå 和数字。
- 如果单词包含以下任何字符,则该单词无效:
+ - & | ! ( ) { } [ ] ^ " ~ * ? : \
例如这些词就可以了:
testæøå
test12
12test
但是这些应该会失败:
t+st
te&st
最佳答案
以防万一您不知道,C# 中的正则表达式比字符串操作慢得多:
Regex in C#
然而,如果使用 Regex.Compiled 进行优化,则可以提高速度。但是,这确实会导致您的程序启动速度变慢。如果这是任何类型的基于网络的(C#/Silverlight),我强烈建议使用字符串操作并通过正则表达式进行搜索,因为对于任何使用该页面的人来说,否则它会非常慢。
您可以轻松匹配字符的 Unicode 或 ASCII 代码并接受/拒绝单词,从而具有更好的性能。
如果您决定使用正则表达式,请考虑 Perl 或其他脚本语言,它们使用正则表达式进行字符串操作要快得多。
关于c# - 创建一个简单的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13886769/