首页 > 解决方案 > 拆分正则表达式与行尾或字符匹配

问题描述

我有以下字符串我想从中提取数据:

foo from 01/05/1964 to 31/03/1965 - bar from 01/09/1966 to 30/09/1966
foobar from 01/09/1967 to 30/09/1967

我尝试了许多正则表达式,无论是否使用惰性运算符,但我找不到分割第一行的表达式。

(.*) from (.*) to (.*)    
(?:(.*) from (.*) to (.*))[-$]??
(.*)?? from (.*) to (.*)
(.*?) from (.*?) to (.*?)[-$]

我觉得这是一个非常简单的解决方案......

以下工作,但我不想为日期指定格式,以防万一

(?: - )?(.*?) from (.{10}) to (.{10})

标签: regex

解决方案


尝试:

(?:(.*) from (.*) to (.*)(?\s*-\s*)?)+

推荐阅读