如何在Notepad ++正则表达式中使用+或*正向lookbehind(?< = exp)

时间:2017-07-11 16:02:55

标签: regex notepad++

任务是在ps.SDR_FLOW_SUBSCRIBER_1DAY_999

中找到数字999

我可以使用(?<=1DAY_)[0-9]{3}查找999,但如果添加更多条件,Notepad ++将报告错误Invalid regular expression

那么,在这种情况下如何使用+*

1 个答案:

答案 0 :(得分:0)

您可以使用\K匹配重置运算符,这是非重叠匹配的优秀正面替代值。

E.g。你可以用

1\w+_\K[0-9]{3}

匹配1,然后1 +字词和_将从匹配中省略,并且匹配值中只剩下3位数。

当然,从速记字符类\w中排除下划线是有意义的,而使用[^\W_]+代替(匹配任何1个以上的字母数字字符),但重点是使用{{ 1}}运营商在这里。

enter image description here