代码之家  ›  专栏  ›  技术社区  ›  friism

C/.NET中类似字符的“宽松”regex匹配

  •  0
  • friism  · 技术社区  · 14 年前

    有没有办法让.NET与字符串完全匹配,即使某些字符不完全相同?应被视为类似的字符的示例可以是:“a'/‘a’和‘195’…'/‘i’。当您键入时,Chrome浏览器会发现这些字符是等效的。

    3 回复  |  直到 14 年前
        1
  •  2
  •   Community Jaime Torres    10 年前

    看一看 this blog post 迈克尔·卡普兰。这里的代码使用标准的.NET类库方法

    1. 在本例中,使用“复合”规范化形式来规范化Unicode字符串,确保 γ 用单独的代码点表示 及其音调符号;
    2. 使用公开有关Unicode字符信息数据库的类来标识音调符号,并将它们剥离出来。
        2
  •  0
  •   P.Brian.Mackey    14 年前

    当然,如果你自己写算法是可能的。唯一接近于使用oob regex.match()重载执行操作的是regexOptions,即 CultureInvariant. 但是,除非你在改变文化,否则这是没有用的。

        3
  •  0
  •   Peter Boughton    14 年前

    也许你想看看 Soundex / Metaphone 函数,首先使字符串正常化,然后对结果执行regex操作?