小编Ter*_*der的帖子

需要使用正则表达式防止重复字符

如何使用 RegEx 来测试以下模式:

  1. 字符串长度必须为 4-10 个字符
  2. 字符串不得有任何重复字符(两个字符不能相同且相邻)

我对此进行了研究,我认为我很接近:

^(?!(.)\1).{4,10}$
Run Code Online (Sandbox Code Playgroud)

ab12这将正确找到和的匹配项12ab。它还正确地拒绝1111aaaa。然而它错误地接受了12aaab11

它似乎只查找字符串开头的重复字符。我尝试移动或删除^$,但我需要它们来进行最大字符检查。我还尝试了几种变体(.)\1来查找重复字符,但没有成功。

任何帮助或提示将不胜感激。

PS - 如果有人知道答案,我实际上希望最多允许一对重复字符,但我认为这太难了,并决定禁止任何重复字符。

regex string match string-matching

5
推荐指数
1
解决办法
7599
查看次数

标签 统计

match ×1

regex ×1

string ×1

string-matching ×1