【问题标题】:Regex expression to catch variant of a word正则表达式捕获单词的变体
【发布时间】:2013-11-22 20:17:40
【问题描述】:

我正在寻找简单的方法来使用正则表达式并以最简单的格式捕获单词的变体。 例如下面这个词的 5 个变体。

远足 远足 海克 希克 远足

使用类似于下面的格式...

[([a-zA-Z]){4,}]

谢谢

【问题讨论】:

  • 您需要更好地定义变体的含义。显示一些匹配和不匹配的样本。

标签: regex


【解决方案1】:

您在寻找类似/h+i+k+e+/ 的东西吗?

意思:

  • 文字 h 字符重复 1 到无穷次
  • 文字 i 字符重复 1 到无穷次
  • 文字 k 字符重复 1 到无穷次
  • 文字 e 字符重复 1 到无穷次

DEMO

如果每个字符最多可以出现两次,您可以使用/h{1,2}i{1,2}k{1,2}e{1,2}/ 表示“出现1 或2 次”。

【讨论】:

    【解决方案2】:

    您可能无法在标准正则表达式语法下通用地解决这个问题(即对于任何单词)。

    对于给定的单词,正如其他人所指出的那样,它是微不足道的。

    【讨论】:

      【解决方案3】:

      我认为这更像是一种 soundex 问题:

      https://stackoverflow.com/a/392236/514463

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-09
        • 2019-02-20
        • 2015-02-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多