Regex 将所有字符匹配到一个捕获组,不包括捕获组

Regex 将所有字符匹配到一个捕获组,不包括捕获组,regex,Regex,我有一个模式 blah_blah_blah_blah_19292_blah_m32.jpg 我想把所有东西都匹配到_mXX,而不包括_mXX 我有^(.*[\m]),但这包括在内。似乎无法将捕获组排除在外。我错过了什么 红细胞链接您可以使用正向前瞻: /^.*?(?=_m[0-9]+)/ 将匹配输入字符串中的blah_blah_blah_19292_blah 在线演示: 参考: 引述上述连结: q(?=u)匹配后跟u的q,而不使u成为匹配的一部分。正向先行结构是一对圆括号,左括号后面跟一个问

我有一个模式

blah_blah_blah_blah_19292_blah_m32.jpg
我想把所有东西都匹配到_mXX,而不包括_mXX

我有
^(.*[\m])
,但这包括在内。似乎无法将捕获组排除在外。我错过了什么


红细胞链接

您可以使用正向前瞻:

/^.*?(?=_m[0-9]+)/
将匹配输入字符串中的
blah_blah_blah_19292_blah

在线演示: 参考: 引述上述连结:

q(?=u)
匹配后跟u的q,而不使u成为匹配的一部分。正向先行结构是一对圆括号,左括号后面跟一个问号和一个等号


你能给我解释一下吗?我在看《看头》杂志,能很好地理解正在发生的事情。这里解释得很好:@BartEnkelaar:谢谢,顺便说一句,这也是我在回答中引用的链接。