问题标签 [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 投票
6 回答
1971 浏览

c# - 仅当字符串的一部分前面没有某些字符时,如何匹配它?

我创建了以下正则表达式模式,以尝试匹配以“PRI”或“SEC”结尾的长度为 6 个字符的字符串,除非字符串 =“SIGSEC”。例如,我想匹配 ABCPRI、XYZPRI、ABCSEC 和 XYZSEC,但不匹配 SIGSEC。

它非常接近并且可以工作(如果我传入“SINSEC”,它会返回“NSEC”上的部分匹配),但我对它目前的形式没有很好的感觉。此外,我以后可能需要添加除“SIG”之外的更多排除项,并意识到这可能不会很好地扩展。有任何想法吗?

顺便说一句,我在 C# 中使用 System.Text.RegularExpressions.Regex.Match()

谢谢,丰富

0 投票
6 回答
2555 浏览

c# - 我无法弄清楚的正则表达式问题(消极的后视)

我如何用正则表达式做到这一点?

我想匹配这个字符串:-myString

但我不想匹配-myString这个字符串中的:--myString

myString 当然是任何东西。

有可能吗?

编辑:

自从我发布了一个问题以来,这里有更多关于我到目前为止所获得的信息:

此正则表达式返回我 3 个匹配项 -string1--string2

理想情况下,我希望它只返回-string1匹配项

0 投票
12 回答
91121 浏览

javascript - JavaScript 中的负向后等价

有没有一种方法可以在 JavaScript 正则表达式中实现相当于否定的向后查找?我需要匹配一个不以特定字符集开头的字符串。

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

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

(?<!([abcdefg]))m

所以它会匹配'jim'或'm'中的'm',但不匹配'jam'

0 投票
5 回答
4741 浏览

regex - 匹配字符串时,正则表达式如何忽略转义引号?

我正在尝试编写一个正则表达式,它将匹配所有内容,但没有转义的撇号。考虑以下:

我的目标是编写一个基本匹配字符串部分的正则表达式。我正在考虑诸如

为了匹配一个简单的字符串,但我一直在试图弄清楚如何在该撇号上进行否定的lookbehind工作,以确保它前面没有反斜杠......

有任何想法吗?

- JMT

0 投票
1 回答
1176 浏览

ruby - ruby 1.9中黑斜线的负前瞻

我想匹配我试过的ruby 1.9中没有反斜杠的每个'['或']':

但我得到一个“未指定重复运算符的目标”

0 投票
2 回答
1588 浏览

regex - 获得与支持负面后视的 GNU grep 等效的最简单方法是什么?

我试图通过嵌套子目录中的一堆文件来查找正则表达式匹配;我的正则表达式需要消极的后视。

Perl 有消极的lookbehinds,但据我所知GNU grep 不支持消极的lookbehinds

获得与支持负面后视的 GNU grep 等效的最简单方法是什么?

(我想我可以在 Perl 中编写我自己的 mini-grep,但这似乎没有必要。我的 Perl Cookbook 副本包括 tcgrep 的源代码;我应该使用它吗?如果是,最新的在哪里版本?不要告诉我我必须输入整个程序!)

0 投票
5 回答
5098 浏览

regex - RegExp:想要查找所有不以“.html”结尾的链接

我是正则表达式的新手(尽管我已经成功使用过很多次)。我想查找文档中所有不以“.html”结尾的链接我想出的正则表达式是:

在我的编辑器 Notepad++ 中,href=\"([^"]*)\"找到所有链接(以“html”结尾的链接和不以“html”结尾的链接)。为什么消极的lookbehind不起作用?

我也尝试过前瞻:

但这也没有用。

有人可以帮忙吗?

干杯,卑躬屈膝

0 投票
3 回答
1138 浏览

regex - hgignore 文件中的正则表达式否定后视

我正在寻找一种方法来修改我的 .hgignore 文件以忽略所有“Properties/AssemblyInfo.cs”文件,但“Test/”或“Tests/”子文件夹中的文件除外。

我尝试使用否定的look-behind 表达式 (?<!Test)/Properties/AssemblyInfo\.cs$,但我没有找到在文件夹“Test/”和“Tests/”中“取消忽略”的方法

0 投票
1 回答
662 浏览

regex - 遇到一系列字符时停止匹配:修复后视

我有以下正则表达式:

它旨在匹配hello world!字符串hello world! [[A string typically used in programming examples]]

然而我只是匹配整个字符串,我不知道为什么。我已经尝试了各种环顾四周,但它就是行不通...

任何人都知道如何解决这个问题?

谢谢,
CFP。

0 投票
1 回答
476 浏览

regex - vim中的奇怪行为,带有负面的后视

所以,我在 vim 中做这个搜索:

正如预期的那样,它与具有以下内容的行不匹配:

但匹配具有以下内容的行:

我究竟做错了什么?不是所有这些都被否定的原子:\(\(unum\)\|\(player\)=\)

自然只是做:/\(\(unum\)\|\(player\)=\)匹配unum=player=