为什么不能定期表达模式" \ r"," \ n"," \ s"," [\ n \ r]"点击这个突破行?

时间:2017-03-10 08:55:12

标签: regex

任何人都可以告诉我为什么常规快递不能匹配",2336"在",2336,"

之后

短语:

ratio:71%  
win:2336,2367,23363626,2336,2336  
877  
lose:2336  

试过模式:

(:|,)2336(,|\s|$)  
(:|,)2336(,|\n|$)  
(:|,)2336(,|\r|$)  
(:|,)2336(,|[\n\r]|$)  

http://regexr.com/3fgb7

1 个答案:

答案 0 :(得分:4)

您的问题是上一场比赛已经消耗了2336的两个实例之间的逗号,因此它无法再次匹配,但您的正则表达式需要这样做。

您可以通过将第二组更改为positive lookahead assertion来解决此问题。

(:|,)2336(?=[,\s]|$)