我正在寻找一个正则表达式来匹配由特定字符组成的单词而不重复任何字符:例如,对于b c和d,如何指定正则表达式来匹配这些字符串:
bdca(匹配)
adb(匹配)
abcg(失败)
aab(失败)
我尝试使用^ [abcd] {1,4} $,但它接受重复的字符(最后一个例子).
请帮忙吗?
你可以使用这个基于负前瞻的正则表达式:
^(?:([abcd])(?!.*\1)){1,4}$
分手:
^ Line start (?: Start non-capturing group ([abcd]) Match a or b or c or d and group it (?!.*\1) Negative lookahead to fail the match if same grouped char is ahead ){1,4} 1 to 4 occurrences of non-capturing group $ Line end