我在這裏遇到了正則表達式的問題。Java正則表達式捕獲嵌套匹配
說我有這個輸入:
608094.21.1.2014.TELE.&BIG00Z.1.1.GBP
我正則表達式看起來像這樣
(\d\d\d\d\.\d?\d\.\d?\d)|(\d?\d\.\d?\d\.\d?\d?\d\d)
我想提取的日期2014年1月21日出來的字符串,但我得到的是
8094.21.1
我覺得我的問題在於,那21.1.2014在(錯誤)匹配之前開始。有沒有一種簡單的方法可以使匹配器不是在比賽結束之後尋找下一場比賽,而是在比賽開始之前的一個角色之前?
也許單獨正則表達式是不是最好的工具這個工作。 –
你想做什麼就像「\ d *(\ d {4}。\ d {1,2}。\ d {1,2})|(\ d {1,2} \。\ d { 1,2}。\ d {2,4})「 – Secespitus
您可以添加更多的示例來清除它。 – anubhava