Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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
Php 除某些卡片外,所有卡片都要匹配_Php_Regex_Pcre - Fatal编程技术网

Php 除某些卡片外,所有卡片都要匹配

Php 除某些卡片外,所有卡片都要匹配,php,regex,pcre,Php,Regex,Pcre,我的测试字符串:G4 G4 G7 G9 G9 R3 B4 RD2 R3 YD2 R4 R5 RR W BDT Y0 YS G8 WDF 我目前使用了这个表达式[^GWDF][0-9DTSRF]+ 它匹配以G开头的卡之外的所有内容,也不匹配WDF和W 我怎样才能使它与任何包含4的卡都不匹配 因此,它不应该匹配任何以G开头的卡片,也不应该匹配任何带有4数字的卡片,也不应该匹配W和WDF 它应仅与测试字符串中的以下内容匹配: R3 RD2 R3 YD2 R5 RR BDT Y0 YS我认为您可以使用

我的测试字符串:
G4 G4 G7 G9 G9 R3 B4 RD2 R3 YD2 R4 R5 RR W BDT Y0 YS G8 WDF

我目前使用了这个表达式
[^GWDF][0-9DTSRF]+

它匹配以
G
开头的卡之外的所有内容,也不匹配
WDF
W

我怎样才能使它与任何包含
4
的卡都不匹配

因此,它不应该匹配任何以
G
开头的卡片,也不应该匹配任何带有
4
数字的卡片,也不应该匹配
W
WDF

它应仅与测试字符串中的以下内容匹配:


R3 RD2 R3 YD2 R5 RR BDT Y0 YS

我认为您可以使用以下正则表达式:

[^\sGWDF](?!.?4)[0-9DTSRF]+

如果需要匹配空格,请从表达式中删除
\s


我所做的更改是添加了
(?!.?4)
负前瞻,如果下一个字符或下一个字符后的下一个字符是
4
,我认为您可以使用以下正则表达式:

[^\sGWDF](?!.?4)[0-9DTSRF]+

如果需要匹配空格,请从表达式中删除
\s

我所做的更改是添加
(?!.?4)
负前瞻,如果下一个字符后的下一个或下一个字符是
4

如下所示:?如下所示:?