正则表达式仅匹配模式的第三次出现

时间:2018-03-08 19:15:35

标签: regex

示例文本如下:

01MAR2015 01MAR2015 Example Example 
02MAR2015 Example Example Example
03MAR2015 Example Example $2.45

我想从第三个日期(第二行)一直选择所有文本到美元金额。我不知道如何跳过前两个日期。谢谢你的帮助。

预期产出:

02MAR2015 Example Example Example
03MAR2015 Example Example $2.45

我现在拥有的东西:

([0-9]{2}[A-Z]{3}[0-9]{4}) # to match the date
((\d)*\.(\d){2}) # to match the dollar amount
(?<=([0-9]{2}[A-Z]{3}[0-9]{4}){2})\1.*((\d)*\.(\d){2}) # my attempt 

1 个答案:

答案 0 :(得分:1)

您似乎需要匹配从第二行开始的文本。在AHK中,您可以使用PCRE兼容模式。

使用

(?<=\n)[0-9]{2}[A-Z]{3}[0-9]{4}[\w\W]*

请参阅regex demo

<强>详情

  • (?<=\n) - 匹配将在换行符后开始
  • [0-9]{2} - 2位数
  • [A-Z]{3} - 3个大写字母
  • [0-9]{4} - 4位数
  • [\w\W]* - 尽可能多的0个字符。