gpt4 book ai didi

javascript - 正则表达式检测字符重复

转载 作者:行者123 更新时间:2023-11-29 22:10:12 24 4
gpt4 key购买 nike

我使用表达式来检测字符串中重复的一个字符。

if (str.replace(/[^@]/g, '').length > 1) {...}

现在,我希望检测重复的多个字符。

对于示例,让我们尝试检测 @ 或 # 的重复项:

Wordwithone@here - match

Word@withduplicate@here - not

Word@withoneandone#here - match

正则表达式是否可以从一组字符中检测重复的字符? (@# 如示例所示)

最佳答案

您在评论 /([@])\1{2,}/ig 中的尝试将在 consecutive @ 中搜索字符串。

只需要一个简单的修改就可以让它工作:

/([@#])[\s\S]*?\1/.test(inputString)

[\s\S]*?[\s\S]* 都可以,只是搜索顺序有点不同:

  • *?惰性,因此搜索重复项将从相邻字符开始。
  • *贪婪,因此搜索将从字符串中的最后一个字符开始。

重点是允许任意数量的字符出现在 2 个重复项 [\s\S]* 之间。我使用 [\s\S] 允许任何字符,而不是 . ,它排除了以下换行符:\n, \r\u2028\u2029

关于javascript - 正则表达式检测字符重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18506196/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com