JavaScript regex(?!)不适用于包含文字 n r?的文本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript regex(?!)不适用于包含文字 n r?的文本相关的知识,希望对你有一定的参考价值。

我正在尝试匹配包含\n\r的文本中的某些字符:

`start[\n\r]other words end other words`.match(/start(?!end)./)

期望:

start[\n\r]other words 

但是得到:

start[

什么问题,为什么我得到这个错误结果?

提前感谢!

答案

与换行符无关。忽略前瞻,我们的正则表达式只要求将单词start和一个附加字符/start./匹配,所以这正是您所得到的。您真正想要的是将start匹配到所有,但不包括end。您可以使用start.*?(?=end)进行此操作。

以上是关于JavaScript regex(?!)不适用于包含文字 n r?的文本的主要内容,如果未能解决你的问题,请参考以下文章

RegEx 替换适用于 Ruby gsub,但不适用于 sed

正则表达式适用于 regex101.com,但不适用于 prod

正则表达式适用于 regex101.com,但不适用于 prod

我的正则表达式适用于 regex101 但不适用于 python? [复制]

有效的 RegEx 不适用于 ASP.Net MVC 正则表达式属性

模式在regex101上运行但不适用于Google脚本[重复]