我很難搞清楚如何提出這個問題,這可能是我爲什麼還沒有找到解決方案。希望這個解釋能讓我走上正軌。賽後的多場比賽
我有一個單詞(強,弱,中等),後跟一個或多個字母/數字組合的字符串。例如:
Weak: B44,45; C5
Moderate: DR1201,13,14,17,18; DP+; B44
我有興趣只捕獲單詞和字母。所以對於第一行我想要得到「弱」,「B」,「C」,
第二行將是「中等」,「DR」,「DP」,「B」
下面簡單的regex:
\b(A|B|C|DP|DQ|DR)
捕獲的字母部分完美,但是當我在前面加上的話:
(Strong|Weak|Moderate).*(A|B|C|DP|DQ|DR)
只有在每行的最後一個字母被捕獲。我意識到這是正則表達式的貪婪本質。使它成爲一個懶惰的匹配捕獲每一行的第一個字母。但有沒有什麼辦法讓它捕捉到每一行上的字母和全部?我不禁想到我錯過了一些東西,只是無法弄清楚。
好的。第二行應該只包含「B」而沒有其編號。編輯。 –