javascript 正则表达式匹配不包括结束模式的字符串

标签 javascript regex

任何人都可以帮我解决这个问题:

我被 JS 正则表达式困住了。

我有一个像这样的字符串:

idonttest33lkjrhguegh8438934hihferTEST2oidchschds

我想匹配 test 之间的所有内容和TEST2不包括TEST2 .

所以预期的输出是:

test33lkjrhguegh8438934hihfer

我尝试了以下方法但没有成功:( :

(test)(.*)(?:(?!(TEST2)))
(test)(.*)(?:(TEST2))
(test)(.*)(?:(?!TEST2))
(test)(.*)(?:TEST2)
(test)(.*)(TEST2) //almost works but selects TEST2 also

最佳答案

您可以使用:

/(test.+?)TEST2/

并使用捕获的组 #1 或使用正向前瞻:

/test.+?(?=TEST2)/

RegEx Demo

关于javascript 正则表达式匹配不包括结束模式的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33207635/

相关文章:

javascript - DOM 对象构造函数不能作为函数调用

ruby - 使用正则表达式将 12 小时制转换为 24 小时制

regex - 使用 Apache Nifi 提取 HL7 值并应用正则表达式

java - 从字符串中获取手机号码和密码

javascript - 如何在 Bluemix 上安装 moment-timezone.js?

javascript - 更新 DOM 中的标签

javascript - 删除继承的样式

javascript - 纯粹使用 JavaScript 以圆形路径移动图像

javascript - 正则表达式拆分分隔符,内容不含空格

c# - 在 C# 中从字符串中获取数字