问题标签 [negative-lookahead]

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 回答
71 浏览

javascript - 如何匹配一个贪婪量化的非'['字符字符串,其中不包含字符串'->'?

是一个起点,虽然我不认为它实际上涵盖了这个场景,或者如果它确实涵盖了这个场景,我会感到非常困惑,以至于我无法思考如何将它应用到我需要的东西上。我不知道是否使用.or.....然后我不确定如何实现贪婪、不精确的量化。

正则表达式让我头晕目眩……

0 投票
1 回答
306 浏览

python - 反斜杠序列不匹配

我想在负前瞻中有一个单词边界。但是,正如您在下面的示例中所见,这似乎不适用于 Python。这是不受支持的吗?如果是这样,有没有办法解决?

陈述我试图解决的全部问题:我有一个我正在使用的正则表达式re.sub,并且有几个特定的​​词(如“455”)我想特别不匹配。

0 投票
3 回答
551 浏览

c# - 使用 c# regex 排除字符串匹配

我是正则表达式的新手。我试图找到没有边框的图像。所以结果应该是第二个 Image。下面是尝试使用正则表达式匹配的文本。

我尝试了以下正则表达式,但没有奏效

那么有人可以帮忙吗?

0 投票
2 回答
143 浏览

python - “选择没有扩展的文件名”的负前瞻

我需要将“php”添加到所有href="xxx"不以“php”结尾的网址。
我使用负前瞻(?!php)

两者都添加扩展名:

为什么负前瞻不起作用?

0 投票
1 回答
463 浏览

javascript - 向匹配正则表达式的 URL 添加负前瞻

因此,我尝试将页面上多个元素中的所有文本 URL 替换为锚标记中的 URL:

http://google.com=><a target="_blank" href="http://google.com">http://google.com</a>

问题是在一些 AJAX 回来后我必须再次运行正则表达式,并且它将锚标签重新应用于锚标签href=""属性中的 url!所以我需要向这个正则表达式添加一个否定的前瞻,以防止它匹配任何带有尾随的 url"'.

匹配http://google.com但不匹配"http://google.com"

/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig

0 投票
1 回答
349 浏览

regex - 负面展望

考虑两种printk函数调用 -

我正在编写一个正则表达式来匹配上面的整个函数调用,它们%内部有字符串参数,但如果字符串END也在里面,则不应该匹配。

我像这样使用了负前瞻

我希望这个正则表达式只匹配第二个函数调用,但它也匹配第一个。

我想我在贪婪的*部分出错了。

0 投票
4 回答
1382 浏览

python - 结合负前瞻和正则表达式后面

我想要一个正则表达式,它会在每个字符串中拆分一个字符串,"."除非"."前面和后面跟着一个数字。例子:

"hello world.foo 1.1 bar.1"==>["hello world","foo 1.1 bar", "1"]

我目前有:

但它给出了:

但它没有找到最后一个"."有效的。

0 投票
1 回答
1298 浏览

regex - 如何在正则表达式中回溯

我正在尝试验证最后在.com之前不包含登录名的 url ,但是这里的正则表达式没有正确验证 url。

我已经使用了惰性量词,但它仍然在移动到部分之前消耗登录字符串(?!login),并且它不是回溯。谁能告诉我我做错了什么?

0 投票
1 回答
241 浏览

perl - perl 否定前瞻不适用于大字符串

perl 负面展望不适用于大字符串(长度 > 40000,在活动 perl 和 cygwin perl 版本 5.14 中)。我尝试了相同的代码,mingw perl 5.8.8但它停止处理长度> 5000的字符串。

我正在使用的代码是:

这适用于所有三个版本的 perl。但是当我通过添加空格来增加字符串的长度时,模式会停止匹配。

例如:my $str = q(A ...some 50000 spaces... B);

请帮忙。

0 投票
1 回答
395 浏览

java - Android 2.1 中的正则表达式负前瞻

正则表达式,专门用于负前瞻模式,在 Android 2.1 代码中似乎无法正常工作。

请参见下面的示例:

在 Android 2.1 上,结果如下:

在 Android 2.2 上,它是:

有谁知道这是什么原因?