问题标签 [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.
c# - 仅当字符串的一部分前面没有某些字符时,如何匹配它?
我创建了以下正则表达式模式,以尝试匹配以“PRI”或“SEC”结尾的长度为 6 个字符的字符串,除非字符串 =“SIGSEC”。例如,我想匹配 ABCPRI、XYZPRI、ABCSEC 和 XYZSEC,但不匹配 SIGSEC。
它非常接近并且可以工作(如果我传入“SINSEC”,它会返回“NSEC”上的部分匹配),但我对它目前的形式没有很好的感觉。此外,我以后可能需要添加除“SIG”之外的更多排除项,并意识到这可能不会很好地扩展。有任何想法吗?
顺便说一句,我在 C# 中使用 System.Text.RegularExpressions.Regex.Match()
谢谢,丰富
c# - 我无法弄清楚的正则表达式问题(消极的后视)
我如何用正则表达式做到这一点?
我想匹配这个字符串:-myString
但我不想匹配-myString
这个字符串中的:--myString
myString 当然是任何东西。
有可能吗?
编辑:
自从我发布了一个问题以来,这里有更多关于我到目前为止所获得的信息:
此正则表达式返回我 3 个匹配项
-string1
:-
和-string2
理想情况下,我希望它只返回-string1
匹配项
javascript - JavaScript 中的负向后等价
有没有一种方法可以在 JavaScript 正则表达式中实现相当于否定的向后查找?我需要匹配一个不以特定字符集开头的字符串。
如果在字符串的开头找到匹配的部分,我似乎无法找到执行此操作而不会失败的正则表达式。负向回溯似乎是唯一的答案,但 JavaScript 没有。
这是我想要工作的正则表达式,但它没有:
(?<!([abcdefg]))m
所以它会匹配'jim'或'm'中的'm',但不匹配'jam'
regex - 匹配字符串时,正则表达式如何忽略转义引号?
我正在尝试编写一个正则表达式,它将匹配所有内容,但没有转义的撇号。考虑以下:
我的目标是编写一个基本匹配字符串部分的正则表达式。我正在考虑诸如
为了匹配一个简单的字符串,但我一直在试图弄清楚如何在该撇号上进行否定的lookbehind工作,以确保它前面没有反斜杠......
有任何想法吗?
- JMT
ruby - ruby 1.9中黑斜线的负前瞻
我想匹配我试过的ruby 1.9中没有反斜杠的每个'['或']':
和
但我得到一个“未指定重复运算符的目标”
regex - 获得与支持负面后视的 GNU grep 等效的最简单方法是什么?
我试图通过嵌套子目录中的一堆文件来查找正则表达式匹配;我的正则表达式需要消极的后视。
Perl 有消极的lookbehinds,但据我所知GNU grep 不支持消极的lookbehinds。
获得与支持负面后视的 GNU grep 等效的最简单方法是什么?
(我想我可以在 Perl 中编写我自己的 mini-grep,但这似乎没有必要。我的 Perl Cookbook 副本包括 tcgrep 的源代码;我应该使用它吗?如果是,最新的在哪里版本?不要告诉我我必须输入整个程序!)
regex - RegExp:想要查找所有不以“.html”结尾的链接
我是正则表达式的新手(尽管我已经成功使用过很多次)。我想查找文档中所有不以“.html”结尾的链接我想出的正则表达式是:
在我的编辑器 Notepad++ 中,href=\"([^"]*)\"
找到所有链接(以“html”结尾的链接和不以“html”结尾的链接)。为什么消极的lookbehind不起作用?
我也尝试过前瞻:
但这也没有用。
有人可以帮忙吗?
干杯,卑躬屈膝
regex - hgignore 文件中的正则表达式否定后视
我正在寻找一种方法来修改我的 .hgignore 文件以忽略所有“Properties/AssemblyInfo.cs”文件,但“Test/”或“Tests/”子文件夹中的文件除外。
我尝试使用否定的look-behind 表达式
(?<!Test)/Properties/AssemblyInfo\.cs$
,但我没有找到在文件夹“Test/”和“Tests/”中“取消忽略”的方法。
regex - 遇到一系列字符时停止匹配:修复后视
我有以下正则表达式:
它旨在匹配hello world!
字符串hello world! [[A string typically used in programming examples]]
然而我只是匹配整个字符串,我不知道为什么。我已经尝试了各种环顾四周,但它就是行不通...
任何人都知道如何解决这个问题?
谢谢,
CFP。
regex - vim中的奇怪行为,带有负面的后视
所以,我在 vim 中做这个搜索:
正如预期的那样,它与具有以下内容的行不匹配:
但匹配具有以下内容的行:
我究竟做错了什么?不是所有这些都被否定的原子:\(\(unum\)\|\(player\)=\)
自然只是做:/\(\(unum\)\|\(player\)=\)
匹配unum=
或player=
。