查找并修改模式之后的日期模式

时间:2012-10-30 17:01:06

标签: regex

我有一个字符串,其中一些日期由一个模式FXTKLN继承。

JHSHSS20NOV2012 GHHSEE23FEB2011 FXTKLN

我的要求是找到日期20NOV2012,23FEB2012以FXTKLN模式成功,并用DATE20NOV2012DATE,DATE23FEB2012DATE等替换这些日期。可以有很多日期 - 不只是两个。

干杯, 珍珠

1 个答案:

答案 0 :(得分:0)

  

找到日期20NOV2012,23FEB2012由FXTKLN模式成功

使用此正则表达式

\d{1,2}[a-zA-Z]{3}\d{4}(?=.*?FXTKLN)

以上regex包含

\d{1,2}// matches 1 to 2 digits
[a-zA-Z]{3} //matches 3 characters 
\d{4} //matches 4 digits
(?=.*?FXTKN) //checks if the date is followed by FXTKN considering multile dates before it!
  

我必须用DATE20NOV2012DATE

替换这些日期

使用现在使用组的正则表达式

(\d{1,2}[a-zA-Z]{3}\d{4})(?=.*?FXTKLN)

然后用

替换它

DATE$1DATE