问题标签 [lookbehind]
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.
c++ - 如何在 C++ 中使用或模拟后向断言?
我正在寻找执行搜索,其中字符串(bar)没有立即被两个字符串(foo)或(boo)中的任何一个
例如
foo=bar
不应该匹配
foo=baz bar
应该匹配
bar
应该匹配
boo=bar
不应该匹配
我认为正则表达式背后的外观非常适合这一点。但是,当我尝试使用(?<!
MSVC++ 进行查看时,我得到了一个未处理的异常
中是否支持断言?它在语法上有所不同吗?或者有人可以帮我写这个正则表达式或模仿行为吗?
java - 如何使用 Look-Ahead 和 Look-Behind 创建自定义边界匹配器?
我想使用Scanner在单词边界处拆分字符串。通常,这将是这样完成的:
问题是我对“单词”字符的定义与标准略有不同,[a-zA-Z_0-9]
因为我想包含更多字符并排除_
: [a-zA-Z0-9#/]
。因此,我不能使用该\b
模式。
所以我尝试使用前瞻和后视来做同样的事情,但我想出的并没有奏效:
扫描仪不会使用它在任何地方分割。
是否可以使用前瞻和后视以及如何做到这一点?
regex - 正则表达式 - 回顾
我有这样的输入字符串:
正则表达式:
我想得到这样的结果:1234567890。但它不起作用。
虽然,下一个输入字符串:
使用下一个正则表达式:
按预期获得结果:1234567890。
javascript - 匹配 '.' 的 Javascript 正则表达式 前面没有'\'(后视替代)
我正在用 javascript 制作一个(类似 Excel 的)数字格式化函数。我想使用像“0 000.00”和“000.000.000”这样的模板,它们会产生:
所以我需要匹配'。前面没有'\'。由于 javascript 中没有后视功能,因此拆分模板的整个和小数部分的正则表达式是什么?
不幸的是,这不起作用:-(
ruby - 带有通配符的正则表达式负回溯
如果附近没有另一块文本,我正在尝试匹配一些文本。例如,我想匹配"bar"
if"foo"
不在它之前。我可以在此正则表达式中使用否定查找来匹配"bar"
if"foo"
不立即在它之前:
但我也喜欢不匹配"foo 12345 bar"
。我试过:
但在 Ruby 中使用通配符 + 范围似乎是无效的正则表达式。我是不是把问题想错了?
regex - 正则表达式匹配正向后视和正向前瞻之间的多行
我需要匹配和之间的内容###
,###
现在我的正则表达式我想出了“作品”,但我也在开始和结束时使用新行来获取内容,这让我的生活非常复杂。
这是我的正则表达式:
我想知道我可以只匹配内容,而不匹配新行。
一些示例文本:
javascript - 如何在 JavaScript 中复制此正则表达式而无需后视?
这是我在 C# 中的正则表达式:
我现在在 JavaScript 中需要这个。我是正则表达式的新手,所以我不知道如果没有后视我将如何做到这一点。任何帮助,将不胜感激。
python - 带有条件后视的python正则表达式
我正在寻找以第一次出现开始@
和结束的子字符串。\s
必须@
在字符串的开头或空格之后。
示例:@one bla bla bla @two @three@four #@five
结果:@one, @two, @three@four
我最终得到了这个 re:((?<=\s)|(?<=^))@[^\s]+
它在 sublime text 2 中运行良好,但在 python 中返回空字符串。
蟒蛇代码:
regex - 正则表达式 - 匹配数字范围,周围没有数字
所以我有这样的事情:
\b(0?[1-9]|[1-2][0-9]|3[0-6])\b
仅适用于匹配数字 1-36。但我可能会得到类似 S36 的东西,它不会匹配。我不能在数字的任何一侧假设一个干净的单词边界。
我想拥有它,这样它就可以将 1-36 与除两边其他数字之外的任何东西匹配。
我认为这样的事情会起作用,但它没有:
(?<=\D)(0?[1-9]|[1-2][0-9]|3[0-6])(?=\D)
它应该在开始时进行积极的向后看,以确保在数字之前除了数字之外没有任何东西,在数字之后进行积极的向前看,以确保在它之后也是如此。
这样做的正确方法是什么?
objective-c - 删除出现在块级标记之前的 XHTML 换行符的正则表达式
我需要一个正则表达式来查找<br />
块标签之前出现的无关标签,而使所有其他<br />
标签保持不变。
这是我正在搜索的文本:
但是,当使用以下 RegEx 时:
它选择第一个<br />
标签之后的所有内容,如下所示:
...这不是我想要的。如何修改表达式使其仅选择<br id="second"/>
?
注意:除 <br />
标签之外的所有内联标签都在此之前被删除,因此它们不会成为影响因素。另外,我使用的是 Obj-C/Cocoa,所以我不能使用所有那些花哨的 PHP 函数。:)。此外,这将是一个有效的 XHTML 文档。