我的测试字符串: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
的卡?
所以它不应该以{{1}}开头的任何内容匹配,也不应该匹配任何带有G
的卡片,并且它不匹配4
和W
。
它应该只匹配测试字符串中的以下内容:
WDF
答案 0 :(得分:1)
我认为您可以使用以下正则表达式:
[^\sGWDF](?!.?4)[0-9DTSRF]+
请参阅regex demo
如果您需要匹配空格,请从表达式中删除\s
。
我所做的更改是添加(?!.?4)
否定前瞻,如果下一个字符后面的下一个或下一个字符为4
,则匹配将失败。