问题标签 [negative-lookbehind]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
14475 浏览

regex - 如何在正则表达式中使用负前瞻来删除不需要的行

我需要有关使用负前瞻的帮助。我正在使用记事本++,我想删除除包含的行之外的所有行<title>(.*)</title>

我尝试了几件事,但没有奏效。

0 投票
4 回答
345 浏览

python - Python 模式反面看

我试图找出与文件路径字符串匹配的正则表达式模式,其中名为“cmd.exe”的文件不位于“System32”文件夹或其任何子文件夹中。

模式应与此匹配:

但不是这个:

我尝试了负面的看法:

但到目前为止没有任何效果。有人看到我的错误吗?

您可以在这里查看我的示例并自己尝试一下: http ://rubular.com/r/syAoEn7xxx

谢谢你的帮助。

0 投票
2 回答
876 浏览

regex - DART 中的负后视等价物?

有什么方法可以在 Dart 正则表达式中实现相当于负向后看的效果?我需要匹配一个不以特定字符集开头和结尾的字符串。

如果在字符串的开头找到匹配的部分,我无法找到执行此操作而不会失败的正则表达式。消极的lookbehinds 似乎是唯一的答案,但Dart 没有。

这是我想要工作的正则表达式,但它没有:

它会匹配.textortext=但不匹配Me.textorFtextABC

0 投票
1 回答
870 浏览

java - Java 正则表达式错误 - 使用组参考进行后视

我正在尝试构建一个正则表达式,它与一个类中出现的两次字符完全匹配。这是我制作的正则表达式:

如您所见,它使用负片前瞻和后视。但是,像往常一样,后者不起作用;当它明显具有最大长度(恰好是一个字符)时,java 会抛出众所周知的异常“后视组没有明显的最大长度”。

理想情况下,正则表达式应匹配“hh”、“jhh”、“ahh”、“hhj”、“hha”,但不匹配“hhh”。

有关如何处理此问题并制定解决方法的任何想法?

0 投票
2 回答
122 浏览

php - 如果没有由另一个特定单词进行,则替换特定单词的出现?

我有一些文字,例如:

我想知道如何删除/替换任何*close*未通过*open*.

所以上面的文字会变成:

我虽然可能使用带有 preg_replace 的正则表达式 - 但我的正则表达式技能不是那么强?

代码示例将受到欢迎。

0 投票
3 回答
13816 浏览

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

我有一个源文件,其中包含数百个字符串flecha.jpgflecha1.jpg,但我需要找到任何其他.jpg图像的出现(即casa.jpg,,moto.jpg等等)

我尝试过使用带有否定后视的正则表达式,如下所示:

但它不起作用!Notepad++ 只是说它是一个无效的正则表达式。

我在其他地方尝试过正则表达式并且它有效,这是一个示例,所以我猜这是 NPP 处理正则表达式或lookbehinds/lookaheads 语法的问题。

那么我怎样才能在 NPP 中实现相同的正则表达式结果呢?

如果有用,我使用的是 Notepad++ 6.3 Unicode

作为一个额外的,如果你这么好,实现同样的事情的语法是什么,但可选的数字(在这种情况下只有'1')作为我的字符串的后缀?(即使它在 NPP 中不起作用,只是要知道)......

我试过(?<!flecha[1]?).jpg了,但它不起作用。它应该与其他正则表达式一样工作,请参见此处(RegExr

0 投票
4 回答
2041 浏览

regex - 负后视和方括号

我想创建一个匹配不匹配的右方括号的正则表达式。例子:

]ichael ==> match ]

[my name is Michael] ==> no match

我的文本中没有嵌套的方括号对。

我试图为此使用负面的lookbehind,更具体地说,我使用了这个正则表达式:(?<!\[(.)+)\]但它似乎没有奏效。

有什么建议么?

0 投票
1 回答
201 浏览

.net - 是否有任何正则表达式提琴手完全支持lookbehind?

我正在寻找一个正则表达式,其中包括可能无限重复的lookbehind。例如:

这只是一个例子——实际的正则表达式不是这样的,所以请不要用其他方法来回答!

根据http://www.regular-expressions.info/lookaround.html,.NET 将支持此功能,但我无法在我尝试过的任何正则表达式提琴手中使用它。只是想知道是否有人见过这个问题或知道使用 .NET 框架作为引擎的正则表达式提琴手(最好是在线的)?

编辑:在撰写本文时,这有 3 票接近,下面有一些关于偏离主题的评论。但常见问题解答在其可接受问题的勾选列表中包含“软件开发工具”。由于这个问题涉及一个相当高级的正则表达式功能,我认为它最好针对程序员社区。还认为这里的其他人可能会感兴趣,因此值得将其记录为问题而不是聊天室对话的片段。这只是我的 2 便士价值,我相信会有人不同意 - 但至少请在近距离投票之前复习一下规则(例如,请参阅此处此处)。

0 投票
2 回答
725 浏览

javascript - Javascript regexp that matches '|' not preceded by '\' (lookbehind alternative)

I'm trying to split string name\|dial_num|032\|0095\\|\\0099|\9925 by delimiter | but it will skip \|. I have found solution in this link: Javascript regexp that matches '.' not preceded by '\' (lookbehind alternative) but it skips \\| too.

The right result must be: [name\|dial_num,032\|0095\\,\\0099,\9925].

The rule is in case \\\| or \\\\\| or etc, | is still a valid delimiter but in case \\\\| or even more, it isn't.

Any help will be appreciate .

0 投票
1 回答
375 浏览

java - RegEx Negative LookBehind in Java

I am trying to match list of string that end in .xsd but not in form.xsd I use the following regEx:

I expect file2 to be printed out but i do not get any result. Am i doing something wrong here? I try the same expression in an online java regEx Tester and I get the expected result but I dont get the result in my program.