问题标签 [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.
java - 带有可选分隔符的正则表达式捕获组
看起来像一个简单的问题,我需要提取一个捕获组,并可选择使用定界字符串限制该组。
在下面的示例中,我提供了一个分隔字符串“cd”,并希望它在所有情况下都返回“ab”:“ab”、“abcd”和“abcdefg”
这是代码:
输出是:
我认为前瞻可能会起作用,但我认为没有一个是可选的(即零个或多个实例)
javascript - 如何在正则表达式中使用前瞻来匹配无字符?
我在一个函数中有一组对我来说效果很好的正则表达式,但我遇到了一种新模式,它们失败了。当字符串中没有更多字符时,此函数将失败。例如,我的函数匹配并替换以下文本:“ 1 m is equivalent to...
”变为“ 1 meter is equivalent to...
”但是,它失败了:“ There are 100 cm in 1 m
”
我正在使用 AS3,我相信它有一个几乎等同于 JavaScript 的正则表达式引擎。目前的模式是:
我遍历一个模式列表和替换字符串,因此很容易将另一个模式添加到列表中。我试过:
和:
两者都失败了。我错过了一个基本的知识花絮。我相信我需要知道怎么说,“当行中没有其他字符时,向前看并匹配”
html - PCRE:(+)和(-)向前/向后看(正则表达式)
我有以下字符串:
我想提取:
- CAR123
- 红色的
- 这辆车是红色的——它的速度很快
到目前为止,我所拥有的是:
但是当它们不在字符串边界上时,我不确定如何设置正负前瞻和后视。
我知道,它是 HTML……我以前听说过……“不要用正则表达式解析 html……”我不需要比这更详细的东西了。
帮助表示赞赏。
谢谢!
javascript - javascript中的正则表达式前瞻问题
我只在所有以空格分隔的单词都长于 3 个单词字符时才尝试匹配(3 个单词字符是强制性的,abc* 是正确的,但 ab* 不是)。这是我的测试:
所有文本都匹配,但我相信没有一个应该匹配。也许我误解了前瞻工作原理的一些基本原理。
java - 为什么这个前瞻断言在 Java 中不起作用?
我来自 Perl 背景,习惯于执行以下操作来匹配字符串中的前导数字并执行就地递增一:
由于我对 Java 的了解有限,事情并不是那么简洁:
正则表达式在这里不匹配......但它在 Perl 中匹配。
我在这里做错了什么?
regex - 正则表达式删除整数周围的引号?
假设我有一个字符串 "\"Bob\",\"1\",\"Mary\",\"2\""。是否可以只删除数字周围的引号而不是字母?我已经尝试过前瞻/后视,但是后视的非可变长度让我感到困惑,我不知道如何解决这个问题。谢谢。
javascript - 了解正则表达式?
在回答我的一个问题时,有人发布了:
我完全迷失了/(;)(?![";"])/
。对我来说,它看起来像是一堆随机符号:(。
在哪里可以了解有关正则表达式语法的更多信息?
python - 在 Python 正则表达式的最终匹配字符串中,与肯定的前瞻断言匹配的 whitesapce 是如何出现的?
为了回答这个问题,我创建了这个 Python 正则表达式来匹配任何子egg
字符串,后跟一个不属于 URL 的数字,前面是http://
:
然后我将它应用于以下字符串:
结果是:
正则表达式对于许多其他问题是不正确的,但有一个问题更多:为什么空格会出现在结果中?由于我使用了类似的前瞻断言(?:\s...)
,不应该从结果字符串中取出它吗?
c - 如何在用 C 编写的类似 FORTH 的语言解释器中实现 LOOP
我正在用 C 编写一种简单的基于堆栈的语言,并且想知道我应该如何实现某种循环结构和/或前瞻符号。由于此页面的代码有点长(超过 200 行),我将其放在GitHub 存储库中。
编辑:主程序在文件中stack.c
。
编辑:代码只接受输入words
,有点像 FORTH。它scanf
从左到右使用和工作。然后它使用一系列if
s 和strcmp
s 来决定要做什么。就是这样。