Joh*_*res 11 html javascript java regex perl
如何以任意组合和不同长度匹配字母a,b,c,如下所示:
表达式应符合以下情况:
abc
bc
a
b
bca
Run Code Online (Sandbox Code Playgroud)
但不应该匹配这些:
abz
aab
cc
x
Run Code Online (Sandbox Code Playgroud)
Ωme*_*ega 16
使用正则表达式模式
\b(?!(?:.\B)*(.)(?:\B.)*\1)[abc]+\b
Run Code Online (Sandbox Code Playgroud)
您可以使用任何设置和大小的此模式,只需替换[abc]
为所需的设置...
示例:
(以上输出来自myregextester)
^(?=([^a]*a?[^a]*)$)(?=([^b]*b?[^b]*)$)(?=([^c]*c?[^c]*)$)[abc]{1,3}$
Run Code Online (Sandbox Code Playgroud)
它包括三种变体的这种模式: (?=([^a]*a?[^a]*)$)
它说:a
从这里(开始)到结束,最多需要一个.
^([abc])((?!\1)([abc])((?!\1)(?!\3)[abc])?)?$
Run Code Online (Sandbox Code Playgroud)