0
的可選結束了以下內容:正則表達式匹配給定字符串
"John Smith"
"John Smith (123)"
"John Smith (123) (456)"
我想拍攝:
"John Smith"
"John Smith", "123"
"John Smith (123)", "456"
什麼Java的正則表達式將允許我這樣做嗎?
我試過(.+)\s\((\d+)\)$
,它適用於「約翰史密斯(123)」和「約翰史密斯(123)(456)」,但不適用於「約翰史密斯」。我怎樣才能改變正則表達式爲第一個輸入工作?
你也可以去貪婪'^([^(\ r \ n] +)(?:?:\((*)\))' – revo
@revo在「約翰·史密斯(123)(456)」中,它捕獲了「123」(456),這不是我想要的。 –
是的你是對的:[**'^([^ (\ r \ n] + $ |。*(?:\((。*)\)))**](https://regex101.com/r/hI0eS1/2) – revo