Regex 正则表达式仅匹配所有具有重复项的给定字符
我正在努力解决一个正则表达式模式问题,但我没有发现任何类似的线程 例如,我有以下字符:Regex 正则表达式仅匹配所有具有重复项的给定字符,regex,Regex,我正在努力解决一个正则表达式模式问题,但我没有发现任何类似的线程 例如,我有以下字符: j,a,n 我想构建一个正则表达式模式,它只搜索包含所有这些字符的字符串,但它可以包含这些字母的副本。其结果应如下所示: jan jana anj naj najana ... 但不应捕捉这些字符串: ana jaa nj aa nn a n j .. 我尝试使用指定长度的字符串等,但目前我最接近的模式如下: ^[jan]{3,}+$ …其中3是给定字符的计数。但它仍然会给我类似于aaa或nnn的结果 我
j,a,n
我想构建一个正则表达式模式,它只搜索包含所有这些字符的字符串,但它可以包含这些字母的副本。其结果应如下所示:
jan
jana
anj
naj
najana
...
但不应捕捉这些字符串:
ana
jaa
nj
aa
nn
a
n
j
..
我尝试使用指定长度的字符串等,但目前我最接近的模式如下:
^[jan]{3,}+$
…其中3是给定字符的计数。但它仍然会给我类似于aaa
或nnn
的结果
我会感谢你的帮助
^(?=.*j)(?=.*a)(?=.*n)[jan]+$
您可以使用
^(?=[^j]*j)(?=[^a]*a)(?=[^n]*n)[jan]+$
,请参见。这是相同的,只是为了在演示中按预期处理单个多行字符串,使用单个字符串时,它应该是^(?=[^j]*j)(?=[^a]*a)(?=[^n]*n)[jan]+$
,这就是为什么在注释中没有\n
s。人们应该小心地使用正则表达式测试器。