我在这里遇到了正则表达式的问题。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