我有一個字符串,例如:正則表達式最後一次出現後如何匹配所有,但不包括匹配的字符
black-guitar-12-strings-7584
,我試圖給一組數字末(並不總是4匹配長度)。
到目前爲止,我有:
(-)[^-]*$
其中最後一部分相匹配,但我不希望包括最後一個連字符也。
任何想法?謝謝。
我有一個字符串,例如:正則表達式最後一次出現後如何匹配所有,但不包括匹配的字符
black-guitar-12-strings-7584
,我試圖給一組數字末(並不總是4匹配長度)。
到目前爲止,我有:
(-)[^-]*$
其中最後一部分相匹配,但我不希望包括最後一個連字符也。
任何想法?謝謝。
試試此圖案:\d+$
或[0-9]+$
。它匹配最後一位數字。
就忽略它的工作:[^-]+$
對於更復雜的問題,那麼這一個,你也可以看看lookahead/lookbehind,但這些都沒有必要在這裏。
(\d+)$
應該工作。如果你的數字不只是數字,你可以使用類似於
-(.+?)$
我添加了捕獲,因爲我認爲這就是你想要的。它使用一個非貪婪的量詞,它將匹配最小值。
爲什麼在第一個例子中不貪心? – Tim
好點,我會編輯這個。 –
如果你想匹配一切後,最後一個「 - 」,這將做到這一點:
[^-]*$
是否有一個地方這不能由分組得到解決的情況下? ' - ([^ - ] *)$'並保存第一個組。 – Tim