问题标签 [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.
regex - Perl 中带有 * 修饰符的负前瞻断言
如果测试的字符串是 a后跟 任意数量的空格(包括零),然后不跟.<@> *(?!QQQ)
<@>
QQQ
然而,如果测试的字符串是<@> QQQ
正则表达式匹配。
我不明白为什么会这样,并希望在这件事上提供任何帮助。
这是一个测试脚本
这打印
我本来希望第一行是something <@> QQQ --> something at w/ QQQ
.
regex - 正则表达式匹配除两个名称和在特定单词之后
我在这些汇总的电子邮件中有一堆姓名和电子邮件地址,我想摆脱除First Last <email@domain.com>
整个文档之外的所有内容。基本上我有...
我只想匹配...
从这个文本。所以基本上我想匹配单词"From: "
plus之后的下两个单词,"<"+email address+">"
不包括单词"From: "
。我从研究中了解到,这是一个消极的前瞻性(我认为)搜索两个完整的单词(不知何故使用{0,2}
),然后是一个从一个<
字符到另一个字符的电子邮件地址>
。
regex - 正则表达式:匹配除以Thanks/结尾的任何字符串
我正在尝试在 Google Analytics 中设置目标漏斗。它适用于我们要跟踪的在线报价请求系统。基本上所有包含报价请求表单的页面都具有独特的动态生成的相似 url。URL 的格式为:
/quoterequest/categoryone/categorytwo/productname/
我有用于跟踪的正则表达式:
今天我们在用户提交表单后添加了一个感谢页面。URL 总是相同的:
/引用请求/谢谢/
我想修改上面的正则表达式,使其继续匹配任何报价请求 URL,但不是那个谢谢 URL。我一直在尝试不同的变化,包括 t。他消极地展望未来,但不幸的是我对正则表达式不是很有经验,我认为我一直在做完全错误的事情。谁能给我一些关于这样做的正确方法的见解?
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我认为这与我需要做的事情有关,但我无法理解它。
python - Python 正则表达式,两个否定的前瞻语句
我有一串语法分析的文本:
我想将“相同”与 s 匹配。'the' 和 'same' 仅在被句法标记(即 (、NP、S 等)分隔时才匹配是关键。因此,'same' 不应该在 s2 中找到匹配项:
我尝试了双重否定前瞻断言无济于事:
这个想法是在没有小写字符时匹配'the',然后在没有小写字符时匹配'same'。
有没有人有更好的方法?
xslt - 基于子值构建表
您好我正在尝试根据以下输入的样本返回一个表:
然后是我的 XSLT:
期望的输出:
我遇到的问题是,如果表为空,我无法阻止创建表,当我确定它是否包含合法行时,为时已晚,无法重新添加表名
regex - 正则表达式负前瞻正好3个大写字母围绕一个字符
我试图写一个正则表达式找到 两边正好有 3 个大写字母的所有字符
以下正则表达式查找字符左侧正好有 3 个大写字母,右侧有 3 个(或更多)的所有字符:
当尝试使用正则表达式将右侧限制为不超过 3 个大写字母时:
我没有得到任何结果,将 (?![AZ]) 添加到第一个正则表达式时似乎失败了。
有人可以向我解释这个问题并提出解决方法吗?
谢谢。
regex - 正则表达式 - 负前瞻
我正在尝试使用 Perl 的负前瞻正则表达式从目标字符串中排除某些字符串。请给我你的建议。
我试图获取没有-sm、-sp 或-sa 的字符串。
正则表达式:
输入
预期输出:
但是,我在下面得到了这个实际输出:
请帮我。
ps:我使用Regex Coach 来可视化我的结果。
python - Python 正则表达式:反向引用
这是 Python 2.5 代码(fox
用链接替换单词<a href="/fox">fox</a>
,它避免了链接内的替换):
输出是:
我不确定为什么反向引用
\3
不起作用。(?!((<.*?)|(<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)
java - Java 正则表达式:负前瞻
我正在尝试制作两个匹配 URI 的正则表达式。这些 URI 的格式为:/foo/someVariableData
和/foo/someVariableData/bar/someOtherVariableData
我需要两个正则表达式。每个都需要匹配一个,而不是另一个。
我最初想出的正则表达式分别是:
/foo/.+
和/foo/.+/bar/.+
。
我认为第二个正则表达式很好。它只会匹配第二个字符串。然而,第一个正则表达式匹配两者。所以,我开始(第一次)用消极的前瞻来玩。我设计了正则表达式/foo/.+(?!bar)
并设置了以下代码来测试它
而且,当然,他们俩都决心true
.
有人知道我在做什么错吗?我不一定需要使用负前瞻,我只需要解决问题,我认为负前瞻可能是一种方法。
谢谢,