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

regex - Perl 中带有 * 修饰符的负前瞻断言

如果测试的字符串是 a后跟 任意数量的空格(包括零),然后跟.<@> *(?!QQQ)<@>QQQ

然而,如果测试的字符串是<@> QQQ正则表达式匹配。

我不明白为什么会这样,并希望在这件事上提供任何帮助。

这是一个测试脚本

这打印

我本来希望第一行是something <@> QQQ --> something at w/ QQQ.

0 投票
3 回答
437 浏览

regex - 正则表达式匹配除两个名称和在特定单词之后

我在这些汇总的电子邮件中有一堆姓名和电子邮件地址,我想摆脱除First Last <email@domain.com>整个文档之外的所有内容。基本上我有...

我只想匹配...

从这个文本。所以基本上我想匹配单词"From: "plus之后的下两个单词,"<"+email address+">"不包括单词"From: "。我从研究中了解到,这是一个消极的前瞻性(我认为)搜索两个完整的单词(不知何故使用{0,2}),然后是一个从一个<字符到另一个字符的电子邮件地址>

0 投票
1 回答
756 浏览

regex - 正则表达式:匹配除以Thanks/结尾的任何字符串

我正在尝试在 Google Analytics 中设置目标漏斗。它适用于我们要跟踪的在线报价请求系统。基本上所有包含报价请求表单的页面都具有独特的动态生成的相似 url。URL 的格式为:

/quoterequest/categoryone/categorytwo/productname/

我有用于跟踪的正则表达式:

今天我们在用户提交表单后添加了一个感谢页面。URL 总是相同的:

/引用请求/谢谢/

我想修改上面的正则表达式,使其继续匹配任何报价请求 URL,但不是那个谢谢 URL。我一直在尝试不同的变化,包括 t。他消极地展望未来,但不幸的是我对正则表达式不是很有经验,我认为我一直在做完全错误的事情。谁能给我一些关于这样做的正确方法的见解?

0 投票
1 回答
1468 浏览

regex - htaccess 规则 - 如果 URL 不包含特定字符串,如何匹配

我有一些具有以下 URL 结构的页面:

/详情/id/125/

由于某种原因,Google 已将看起来像 /details/125/ 的页面编入索引,而 /id/ 部分缺失。这会导致重复的内容问题。

所以我需要一个 .htaccess RedirectMatch 规则,以便如果 URL 包含 /details/ 但之后不包含 /id/ ,则重定向到 404 页面。

到目前为止我没有任何运气的尝试:

重定向匹配 404 ^/details/(?!id)/

在我的研究中,我发现了这些信息http://www.mycomputingart.com/programming/Z24.regexpadv.html我认为这与我需要做的事情有关,但我无法理解它。

0 投票
1 回答
185 浏览

python - Python 正则表达式,两个否定的前瞻语句

我有一串语法分析的文本:

我想将“相同”与 s 匹配。'the' 和 'same' 仅在被句法标记(即 (、NP、S 等)分隔时才匹配是关键。因此,'same' 不应该在 s2 中找到匹配项:

我尝试了双重否定前瞻断言无济于事:

这个想法是在没有小写字符时匹配'the',然后在没有小写字符时匹配'same'。

有没有人有更好的方法?

0 投票
1 回答
137 浏览

xslt - 基于子值构建表

您好我正在尝试根据以下输入的样本返回一个表:

然后是我的 XSLT:

期望的输出:

我遇到的问题是,如果表为空,我无法阻止创建表,当我确定它是否包含合法行时,为时已晚,无法重新添加表名

0 投票
4 回答
1704 浏览

regex - 正则表达式负前瞻正好3个大写字母围绕一个字符

我试图写一个正则表达式找到 两边正好有 3 个大写字母的所有字符

以下正则表达式查找字符左侧正好有 3 个大写字母,右侧有 3 个(或更多)的所有字符:

当尝试使用正则表达式将右侧限制为不超过 3 个大写字母时:

我没有得到任何结果,将 (?![AZ]) 添加到第一个正则表达式时似乎失败了。

有人可以向我解释这个问题并提出解决方法吗?

谢谢。

0 投票
2 回答
422 浏览

regex - 正则表达式 - 负前瞻

我正在尝试使用 Perl 的负前瞻正则表达式从目标字符串中排除某些字符串。请给我你的建议。

我试图获取没有-sm、-sp 或-sa 的字符串。

正则表达式:

输入

预期输出:

但是,我在下面得到了这个实际输出:

请帮我。

ps:我使用Regex Coach 来可视化我的结果。

0 投票
2 回答
3701 浏览

python - Python 正则表达式:反向引用

这是 Python 2.5 代码(fox用链接替换单词<a href="/fox">fox</a>,它避免了链接内的替换):

输出是:

  1. 我不确定为什么反向引用\3不起作用。

  2. (?!((<.*?)|(<a.*?)))(fox)(?!(([^<>]*?)>)|([^>]*?</a>))作品见http://regexr.com?3170 亿,令人惊讶。第一个负前瞻(?!((<.*?)|(<a.*?)))让我感到困惑。在我看来,它不应该工作。取它找到的第一个匹配项,fox在 中gave chase to the fox.</p>,有一个<a href='http://en.wikipedia.org/wiki/Dog'>dog</a>where 匹配项((<.*?)|(<a.*?)),作为否定的前瞻,它应该返回一个 FALSE。我不确定我是否清楚地表达了自己。

非常感谢!

(注:我讨厌使用 BeautifulSoup。我喜欢编写自己的正则表达式。我知道这里很多人会说正则表达式不适用于 HTML 处理等等。但这是一个小程序,所以我更喜欢正则表达式而不是 BeautifulSoup)

0 投票
1 回答
40259 浏览

java - Java 正则表达式:负前瞻

我正在尝试制作两个匹配 URI 的正则表达式。这些 URI 的格式为:/foo/someVariableData/foo/someVariableData/bar/someOtherVariableData

我需要两个正则表达式。每个都需要匹配一个,而不是另一个。

我最初想出的正则表达式分别是: /foo/.+/foo/.+/bar/.+

我认为第二个正则表达式很好。它只会匹配第二个字符串。然而,第一个正则表达式匹配两者。所以,我开始(第一次)用消极的前瞻来玩。我设计了正则表达式/foo/.+(?!bar)并设置了以下代码来测试它

而且,当然,他们俩都决心true.

有人知道我在做什么错吗?我不一定需要使用负前瞻,我只需要解决问题,我认为负前瞻可能是一种方法。

谢谢,