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

java - 带有可选分隔符的正则表达式捕获组

看起来像一个简单的问题,我需要提取一个捕获组,并可选择使用定界字符串限制该组。

在下面的示例中,我提供了一个分隔字符串“cd”,并希望它在所有情况下都返回“ab”:“ab”、“abcd”和“abcdefg”

这是代码:

输出是:

我认为前瞻可能会起作用,但我认为没有一个是可选的(即零个或多个实例)

0 投票
3 回答
293 浏览

javascript - 如何在正则表达式中使用前瞻来匹配无字符?

我在一个函数中有一组对我来说效果很好的正则表达式,但我遇到了一种新模式,它们失败了。当字符串中没有更多字符时,此函数将失败。例如,我的函数匹配并替换以下文本:“ 1 m is equivalent to...”变为“ 1 meter is equivalent to...”但是,它失败了:“ There are 100 cm in 1 m

我正在使用 AS3,我相信它有一个几乎等同于 JavaScript 的正则表达式引擎。目前的模式是:

我遍历一个模式列表和替换字符串,因此很容易将另一个模式添加到列表中。我试过:

和:

两者都失败了。我错过了一个基本的知识花絮。我相信我需要知道怎么说,“当行中没有其他字符时,向前看并匹配”

0 投票
2 回答
579 浏览

html - PCRE:(+)和(-)向前/向后看(正则表达式)

我有以下字符串:

我想提取:

  • CAR123
  • 红色的
  • 这辆车是红色的——它的速度很快

到目前为止,我所拥有的是:

但是当它们不在字符串边界上时,我不确定如何设置正负前瞻和后视。

我知道,它是 HTML……我以前听说过……“不要用正则表达式解析 html……”我不需要比这更详细的东西了。

帮助表示赞赏。

谢谢!

0 投票
1 回答
241 浏览

javascript - javascript中的正则表达式前瞻问题

我只在所有以空格分隔的单词都长于 3 个单词字符时才尝试匹配(3 个单词字符是强制性的,abc* 是正确的,但 ab* 不是)。这是我的测试:

所有文本都匹配,但我相信没有一个应该匹配。也许我误解了前瞻工作原理的一些基本原理。

0 投票
2 回答
708 浏览

java - 为什么这个前瞻断言在 Java 中不起作用?

我来自 Perl 背景,习惯于执行以下操作来匹配字符串中的前导数字并执行就地递增一:

由于我对 Java 的了解有限,事情并不是那么简洁:

正则表达式在这里不匹配......但它在 Perl 中匹配。

我在这里做错了什么?

0 投票
1 回答
417 浏览

python - 两个非常接近的正则表达式与 Python 中的前瞻断言 - 为什么 re.split() 表现不同?

我试图回答这个问题,其中 OP 具​​有以下字符串:

并想拆分它以获得以下列表:

我试图通过在正则表达式中使用简单的前瞻断言来解决它,(?=path:). 好吧,它没有用:

然而,在这个 answer中,回答者通过在前瞻断言前面加上一个空格来使其工作:

为什么正则表达式与空格一起使用?为什么没有空格它就不起作用?

0 投票
1 回答
1806 浏览

regex - 正则表达式删除整数周围的引号?

假设我有一个字符串 "\"Bob\",\"1\",\"Mary\",\"2\""。是否可以只删除数字周围的引号而不是字母?我已经尝试过前瞻/后视,但是后视的非可变长度让我感到困惑,我不知道如何解决这个问题。谢谢。

0 投票
4 回答
631 浏览

javascript - 了解正则表达式?

在回答我的一个问题时,有人发布了:

我完全迷失了/(;)(?![";"])/。对我来说,它看起来像是一堆随机符号:(。

在哪里可以了解有关正则表达式语法的更多信息?

0 投票
2 回答
54 浏览

python - 在 Python 正则表达式的最终匹配字符串中,与肯定的前瞻断言匹配的 whitesapce 是如何出现的?

为了回答这个问题,我创建了这个 Python 正则表达式来匹配任何子egg字符串,后跟一个不属于 URL 的数字,前面是http://

然后我将它应用于以下字符串:

结果是:

正则表达式对于许多其他问题是不正确的,但有一个问题更多:为什么空格会出现在结果中?由于我使用了类似的前瞻断言(?:\s...),不应该从结果字符串中取出它吗?

0 投票
4 回答
4795 浏览

c - 如何在用 C 编写的类似 FORTH 的语言解释器中实现 LOOP

我正在用 C 编写一种简单的基于堆栈的语言,并且想知道我应该如何实现某种循环结构和/或前瞻符号。由于此页面的代码有点长(超过 200 行),我将其放在GitHub 存储库中。

编辑:主程序在文件中stack.c

编辑:代码只接受输入words,有点像 FORTH。它scanf从左到右使用和工作。然后它使用一系列ifs 和strcmps 来决定要做什么。就是这样。