2015-11-06 88 views
1

我的測試字符串:G4 G4 G7 G9 G9 R3 B4 RD2 R3 YD2 R4 R5 RR W BDT Y0 YS G8 WDF匹配一切,除了某些卡

我有這個目前表達[^GWDF][0-9DTSRF]+
它匹配一切與G啓動卡旁邊,它也不會匹配WDFW

https://regex101.com/r/cE9kY5/3

我怎樣才能使它所以,它應該也不會匹配包含在它4任何卡?

所以它不應該匹配任何開頭的G,也應該不會與它的一些4任何卡匹配,並且它shoudn't匹配WWDF

它應該只匹配從測試字符串如下:

R3 RD2 R3 YD2 R5 RR BDT Y0 YS

+2

像這樣:['[^ GWDF](?!。?4)[0-9DTSRF] +'](https://regex101.com/r/pW1fC5/1)? –

回答

1

我想你可以使用下面的正則表達式:

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

regex demo

如果您需要匹配空格,從表達式中刪除\s

我所做的更改是添加(?!.?4)否定性預測,如果下一個字符後的下一個字符或下一個字符爲4,則匹配失敗。

+1

謝謝它的作品:) – Jakobd