【问题标题】:how to find matches with regExp如何使用 regExp 查找匹配项
【发布时间】:2016-08-11 13:57:43
【问题描述】:

我想用这个例子找到匹配项:

用户输入:fi ma // regExp(/???/gi)

结果:find ma​​tches

我应该使用哪种表达方式?

【问题讨论】:

  • 您只想选择两个字母,还是最多选择两个?字词a 会匹配吗?
  • 具体是“fi ma”还是每个单词的前 2 个字母?
  • 任意数量的字母,就像在webstorm ide中搜索

标签: javascript regex


【解决方案1】:

\b\w{2}

将获取每个单词的前 2 个字母。 \b 在由空格分隔的字符(即单词)周围创建边界,\w{2} 精确匹配 2 个单词字符。

【讨论】:

    【解决方案2】:

    你可以使用/\bfi[^\s]*\s*\bma[^\s]*/g

    使用示例:https://regex101.com/r/oH3uA0/3


    解释:

    \b 匹配一个单词边界(其中一个单词字符后面没有或前面没有另一个单词字符)。用于单词的开头

    *[^\s] 匹配第一个单词的其余部分。

    通过这种方式,您可以使用\bfoo[^\s]+\s 匹配以 foo 开头的单词直到下一个单词的开头。

    第二个单词重复相同。您还可以链接这些以匹配更多以您选择的字符串开头的单词(即,要分别匹配以 foo, bar, dar 开头的 3 个单词的链,您可以使用 /\bfoo[^\s]*\s*\bbar[^\s]*\s*\bdar[^\s]*/g

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-27
      • 1970-01-01
      • 1970-01-01
      • 2012-02-24
      • 1970-01-01
      相关资源
      最近更新 更多