c# - 创建一个简单的正则表达式

标签 c# regex

我正在尝试创建一个正则表达式来匹配具有以下条件的单词:

  • 匹配可以包含以下字符的单词:æøå 和数字。
  • 如果单词包含以下任何字符,则该单词无效:
    + - & | ! ( ) { } [ ] ^ " ~ * ? : \

例如这些词就可以了:

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/

相关文章:

ruby - 在正则表达式中组合否定字符类

javascript - 如何使用 javascript 正则表达式全局查找并替换文本区域中字符串的开头

c# - 如何在 asp.net 代码中实现 FIPS(此实现不是 Windows 平台 FIPS 验证加密算法的一部分。)

c# - 如何在没有 AppDomain.GetCurrentThreadId() 的情况下获取当前线程 ID,使其真正起作用?

c# - 精确值匹配索引

javascript - 将 sum(something) 的出现次数更改为 Something_sum

javascript - 正则表达式返回一些结果

c# - MIME 多部分流意外结束。 MIME 多部分消息不完整。 Web API 和 super 代理

c# - 如何使用打开文件对话框打开 json 文件

java - 如何使用正则表达式拆分 MCQ(多项选择题)字符串