【发布时间】:2016-03-07 01:16:04
【问题描述】:
我有类似于以下结构的数据。我需要提取第三次出现“2016 年 5 月”和“2016 年 6 月”之间的数据。
我有以下模式(坦率地说)构造不正确(而且它没有带回我想要的字符)。
(.*(?>May 2016)){3}(.*(?=Jun 2016)){3}/s
我是使用正则表达式的新手,请有人帮助我正确表达。
2016 年 5 月 2016 年 6 月 efef 2016 年 5 月 2016 年 6 月 2016 年 5 月
dffdg def efef
2016 年 6 月
2016 年 5 月
2016 年 6 月
【问题讨论】:
-
如果您认为您的正则表达式不合适,那么您必须给出要匹配的内容的精确 表示。即
May_May_May_<here>Jun_Jun_Jun_或此类的某种组合。 -
所以我们可以假设我们有“...... 2016 年 5 月...... 2016 年 6 月...... 2016 年 5 月...... 2016 年 6 月......”等等? IE。他们交替并从五月开始?
-
你的假设是对的。另外,为不明确表示歉意。我打算从字符串中得到的是
May 2016 Jun 2016 May 2016 Jun 2016 May 2016 <here> Jun 2016