【问题标题】:Testing string for words with 3 repeated consecutive characters测试具有 3 个重复连续字符的单词的字符串
【发布时间】:2018-12-08 05:36:39
【问题描述】:

我正在尝试获得一个 Regex 表达式,当给定的字符串至少有 1 个由 3 个或更多重复连续字符组成且没有其他字符的字符串时,该表达式将得到满足:

Testing AAAAAA Test - 有效

Testing AAAAAAB Test - 无效

我之前达到的解决方案不足以识别单词中是否有不同的字符:

/^(?:(.)(?!\1{2}))+$/gi

这本质上只是测试每个字符后面的 2 个字符是否相等。

有什么想法吗?

【问题讨论】:

  • 请显示更多示例输入/预期输出。

标签: javascript regex


【解决方案1】:

怎么样

\b(.)\1{2,}\b

这是

\b    word boundary
(.)   something
\1    previous thing...
{2,}  ...twice or more
\b    word boundary

https://regex101.com/r/BKHkOc/3

【讨论】:

    【解决方案2】:

    添加单词边界。并使用{2,} 匹配至少2次重复。

    /\b(.)\1{2,}\b/
    

    不需要i,因为你没有匹配字母,所以大小写无关紧要。而g只是测试时不需要;它仅在您退回所有匹配项或进行替换时才有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-29
      • 1970-01-01
      • 2019-11-17
      • 2018-10-28
      • 2011-09-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多