Cile / .Net中类似字符的“Lenient”正则表达式匹配

时间:2010-07-02 15:46:19

标签: .net regex unicode

有没有办法让.Net积极匹配字符串,即使某些字符不完全相同?应该被视为相似的字符的示例可以是:'a'/'á'和'í'/'i'。 Chrome浏览器可以按类型识别这些字符是等效的。

3 个答案:

答案 0 :(得分:2)

请看迈克尔卡普兰的this blog post。这里的代码使用

的标准.NET类库方法
  1. 在这种情况下,使用“复合”规范化形式规范化Unicode字符串,以确保á之类的字符由 a 及其变音符号的单独代码点表示(一个或多个);
  2. 使用公开有关Unicode字符信息的数据库并将其剥离的类来识别变音符号。

答案 1 :(得分:0)

如果你自己写出算法,那肯定是可能的。与OOB Regex.Match()重载相关的唯一事情就是在RegexOptions中CultureInvariant.但是,除非你正在翻转那些不会有用的文化。

答案 2 :(得分:0)

也许您想查看Soundex / Metaphone函数,首先规范化字符串,然后对其结果执行正则表达式操作?

相关问题