我正在尝试仅在可能存在多个日期的第二个日期返回匹配项。在匹配之前或之后,并没有真正一致的单词。这可能吗?
还要注意,日期可以设置为01-01-1001
,01/01/1001
或January 01, 2001
格式(尽管拼写最后一个月的日期并不常见)。
下面是一些我想匹配的文本的示例,加粗的第二个日期是我希望它返回的示例。
此处有一些文本字段
还有其他人
体验:15年3月31日
页面:
1
2129364
23675918互联网
14/04/04
可能在12:04 PM
终极
42159497 93736662
WEB
18/04/11
税项
2018年6月14日
答案 0 :(得分:0)
我尝试了这段代码,它似乎可以工作
(?<=(.|\n)*?(\d{2}|January)(\s|\/|-)\d{2}(\s|\/|-)(\d{2}|\d{2})(\s|\/|-))(.|\n)*?
(\d{2}|January)(\s|\/|-)\d{2}(\s|\/|-)(\d{2}|\d{2})(\s|\/|-)
此代码基本上搜索您要查找的模式,先于同一模式,然后可选地被其他符号(包括换行符)环绕。 还有一个建议:如果要测试正则表达式模式,则可能要签出this website。
您还可以在两种语言之间切换(我使用过javascript),尽管我认为基本知识基本相同。