我想出了这个正则表达式:
^[pP]{2}[^a-m](\d)+
匹配:ppt92617
ppy92619
PPr99999k
问题是,第3个索引的每个数字都不应该在字符串的剩余部分重复。因此,第一个字符串将是匹配,其他两个不会。 我该怎么做?
答案 0 :(得分:3)
这是正则表达式,匹配唯一数字的序列。假设您找到5个唯一数字,您的代码应该是这样的:
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
^[pP]{2}[^a-m](?!.*(.).*\1)\d{5}$
是您的代码,您知道:)^[pP]{2}[^a-m]
为负面预测?!
匹配一个由零个或多个字符包围的数字。 .*(.).*
是捕获组(看起来像个布布)。(.)
允许前一组仅为5位数我很难用可怜的英语来解释它。我在几年前找到并保存了这个正则表达式,虽然它可能在将来有用。
更好地查看此处,以获得准确而正确的解释:Regex101