正则表达式;找到 'x' ,但如果前面有 'y' 则找不到

标签 javascript regex negative-lookbehind

<分区>

类似于“pie”这个词之前没有“pizza”这个词。我对正则表达式还很陌生,这个问题一直困扰着我。

如果您能使用 JavaScript 正则表达式语法提供答案,我将不胜感激。

编辑:我可能可以通过在两个单独的正则表达式中单独搜索字符串“pizza pie”和“pie”来复制该功能,并且只计算出现在第二个查找中而非第一个查找中的字符串索引。这是一个复杂的解决方案,速度不是那么快,但可以很容易地进行多线程处理,所以我认为它没问题。

最佳答案

这称为负后视,“x 前面没有 y”的正则表达式看起来像 (?<!y)x .不幸的是,JavaScript 不支持负向后视,但请查看 this question寻找替代品。

关于正则表达式;找到 'x' ,但如果前面有 'y' 则找不到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25713648/

相关文章:

regex - 使用负向后查找的正则表达式在Notepad++中不起作用

regex - 为什么这种否定的后视被认为是成功的正则表达式匹配?

javascript - 正则表达式来屏蔽 IBAN

php - 在 PHP 文件中包含多个函数,并在 javascript 文件中通过 jquery.post 或 jquery.get 调用它们

javascript - 所有浏览器都可以使用正则表达式处理多行搜索吗?

php - 如何从欧元 (€) 表达式中删除特定的前导和尾随字符?

javascript - 使用 React-Router-Dom 在 React 中传递路由参数

javascript - Math.floor() 不适合我

电子邮件地址的正则表达式不接受 '&' 之前的 'dot'

regex - 无法使具有负向先行的正则表达式修复 JSON 中的未转义引号