Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式仅匹配所有具有重复项的给定字符_Regex - Fatal编程技术网

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。人们应该小心地使用正则表达式测试器。