匹配除某些卡片以外的所有内容
Match everything except certain cards
我的测试字符串: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
.
https://regex101.com/r/cE9kY5/3
我怎样才能让它不匹配任何包含 4
的卡片?
所以它不应该匹配任何以 G
开头的东西,也不应该匹配任何带有数字 4
的卡片,也不应该匹配 W
和 WDF
.
它应该只匹配测试字符串中的以下内容:
R3 RD2 R3 YD2 R5 RR BDT Y0 YS
我认为您可以使用以下正则表达式:
[^\sGWDF](?!.?4)[0-9DTSRF]+
如果需要匹配空格,请从表达式中删除 \s
。
我所做的更改是添加 (?!.?4)
否定前瞻,如果下一个或下一个字符之后的下一个字符是 4
。
,则匹配失败
我的测试字符串: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
.
https://regex101.com/r/cE9kY5/3
我怎样才能让它不匹配任何包含 4
的卡片?
所以它不应该匹配任何以 G
开头的东西,也不应该匹配任何带有数字 4
的卡片,也不应该匹配 W
和 WDF
.
它应该只匹配测试字符串中的以下内容:
R3 RD2 R3 YD2 R5 RR BDT Y0 YS
我认为您可以使用以下正则表达式:
[^\sGWDF](?!.?4)[0-9DTSRF]+
如果需要匹配空格,请从表达式中删除 \s
。
我所做的更改是添加 (?!.?4)
否定前瞻,如果下一个或下一个字符之后的下一个字符是 4
。