正则表达式:为什么“ part3(?= [\ _ $“])”与“ part1_part2_part3”不匹配?

时间:2019-11-07 16:19:22

标签: regex

我不知道为什么这个正则表达式不起作用(https://regexr.com/4od1b):

part3(?=[\_$])

我想使用积极的前瞻性,认为这应该与part1_part2_part3相匹配,但事实并非如此。另一方面,它符合预期的part1_part2_part3_part4

为什么这行不通?我想匹配第3部分,无论是在字符串的末尾还是后跟“ _”。

谢谢!

1 个答案:

答案 0 :(得分:0)

  

为什么这行不通?我想匹配第3部分,无论是在字符串的末尾还是后跟“ _”。

您应该使用此正则表达式:

part3(?=[_"]|$)

并确保m(多行)和g(全局)标志已打开。

Updated RegEx Demo

PS:$中的[...]是文字$,而不是行锚的结尾。