用于匹配所有不是指定字符串的字符串的javascript正则表达式

标签 javascript regex

我有一个如下所示的正则表达式:

var myRegex =/%([a-z_]*)%/i

这匹配任何子字符串,例如 %foo%,其中字符串位于两个引号之间。

修改此正则表达式的最佳方法是什么,以便它仅在 % 包围除字符串 foo 之外的任何内容时匹配正则表达式?所以它不会匹配 %foo% 但它会匹配 %bar_% %anythingelse%?

最佳答案

你在这里寻找负面的前瞻:

var myRegex = /%(?!foo%)([a-z_]*)%/i;

(?!foo%) 是负前瞻,当我们有 foo% 领先于 % 时会断言失败,因此失败 %foo%.

关于用于匹配所有不是指定字符串的字符串的javascript正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40852456/

相关文章:

javascript - 如何重新排序 DOM 流

javascript - 行尾不间断空格

javascript - 根据id获取数据类别

正则表达式和 POST 在同一连接中

regex - 如何向不以多个单词之一开头的所有行添加前缀

javascript - 如何将 JavaScript 代码嵌入到 Google 协作平台页面中?

javascript - 在 slider 旋转按钮上启动 javascript onclick

java - RESTEasy Web 方法的 @Path 中的正则表达式

Python 正则表达式引擎 - "look-behind requires fixed-width pattern"错误

javascript - 仅当两个括号都在字符串中时如何匹配?