问题标签 [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.
ruby - Ruby 中的正则表达式否定后视似乎不起作用
制作参数解析器。我想将字符串拆分为分隔符所在的数组,", "
除非前面有"|"
. 这意味着字符串
应该导致
我正在尝试使用这个正则表达式:(?<!\|),
它适用于http://regexhero.net/tester/但是当我尝试
在红宝石中,我收到一个错误:undefined (?...) sequence: /(?<!\|), /
regex - php preg_replace 正则表达式前瞻
我正在尝试使用 preg_replace 在我的 html 侧面替换 & 符号,但问题是它破坏了内联 javascript && 或 javascript url,如 ?page=test&id=1
现在我有这个代码,它可以工作
当空格在左边或右边时替换 & 号。当连续 2 个&符号(用于 javascript)或跟随 html 实体时,不要替换。
但我在这里发现它相当不需要的逻辑。如果它像测试和测试,它也不会替换&符号。
由于我不是正则表达式专家,这花了我很长时间,所以我想我再次在这里寻求帮助。
如果不在 javascript 脚本标签中,那么简单地替换所有 & 符号不是更好吗?我已经尝试过了,但没有真正的成功
有谁知道我如何存档?谢谢
regex - 嵌套的正则表达式前瞻和后视
我在正则表达式中的嵌套“+”/“-”前瞻/后视时遇到问题。
假设我想更改'*'
字符串中的'%'
并且假设'\'
转义下一个字符。(将正则表达式转换为 sql 之类的命令 ^^)。
所以字符串
'*test*'
应改为'%test%'
,'\\*test\\*'
->'\\%test\\%'
,但是'\*test\*'
并且'\\\*test\\\*'
应该保持不变。
我试过:
与上面给出的示例中的“*”匹配的正确正则表达式是什么?
有什么区别(?<!\\(?=\\\\)*)\*
,(?=(?<!\\)(?=\\\\)*)\*
或者如果这些本质上是错误的,那么具有这种视觉结构的正则表达式之间的区别是什么?
c# - 带有反向引用的正则表达式正前瞻
我正在尝试构建一个具有语法突出显示的非常具体的编辑器。我已经用正则表达式制作了所有简单的东西,这很简单,但现在我想用正则表达式添加一些高级功能。
在这种情况下,我想知道是否在任何 JumpTo 命令上使用了定义的标签。
例子:
这里的目标是找到被JumpTo (一个或多个)引用的每个Define (Definexxx),可能在定义之前或之后。在另一个步骤中,我还想找到任何JumpTo未引用的任何Define。
我已经尝试使用表达式“ Define(?<tag>\d+)(?=JumpTo\k<tag>) ”进行积极的前瞻。我希望它会找到“ Define1 ”,但它没有(无论有没有多行选项)。
这是否可以一步完成正则表达式,还是我应该放弃这个想法而只考虑两步方法?
php - 正则表达式之间进行选择和同时忽略任何 <> 中的所有文本
我有以下两种类型的文本:
类型一:
类型二:
我正在使用 php 和preg_match_all
. 我需要一个可以从上面返回一号警官和二号警官的表达式。我使用公司官员< /div>
作为第一个主播和< /div>
第二个主播,但我无法在所有桌子上的胡言乱语中找到 Keith Dennis。
如何在anchor1 和anchor2 之间返回文本,同时忽略任何括号内的所有文本<>
?
我看到了这些线程,但无法使他们的解决方案对我有用: RegEx:提取所有内容,直到 X 不在两个大括号之间
java - 复杂后视中的无限量词
我在编写这个正则表达式时遇到了很多麻烦:
它在我的正则表达式编辑器(Expresso)和 .NET 环境中运行良好,但在 Java 环境(使用 Eclipse Helios R2 的 JRE 1.6.0.25)中它不起作用,因为该Pattern.compile()
方法会引发“语法错误 U_REGEX_LOOK_BEHIND_LIMIT”异常。
那是因为模式背后的外观必须有一个定义的限制(据我所知,这里不允许使用(?<=\s+|^\s*|\(\s*|\.)
无限量词,例如*
and )。+
我还尝试以这种方式指定重复范围,但没有运气:
那么,我怎样才能编写一个相同的正则表达式,即使在 Java 环境中也能工作呢?我不敢相信这种常见情况没有解决方法....
regex - 正则表达式条件后向字符匹配
所以我想在字符串中找到字符串“to”,但前提是它是独立的。它可能在字符串的开头,如“to do this”,所以我无法搜索“to”。
我要做的是说,如果“to”后面有一个字符,它不能是\w。我怎么做?
regex - 正则表达式 Lookbehind 不适用于量词(“+”或“*”)
我正在尝试在正则表达式中使用lookbehinds,但它似乎没有像我预期的那样工作。所以,这不是我真正的用法,但为了简化我会举一个例子。想象一下,我想在“这是一个示例”的字符串上匹配“示例”。所以,根据我对lookbehinds的理解,这应该有效:
这应该做的是找到“this is an”,然后是空格字符,最后匹配单词“example”。现在,它不起作用,我不明白为什么,在lookbehinds中使用'+'或'*'是不可能的吗?
我也尝试了这两个,它们工作正常,但不能满足我的需求:
我正在使用这个网站来测试我的正则表达式: http: //gskinner.com/RegExr/
regex - 回顾 VBA 的正则表达式?
有没有办法在 VBA 正则表达式中进行消极和积极的回顾?
如果字符串以“A”开头,我想不匹配,所以我目前在模式的开头执行 ^A,然后删除 match(0) 的第一个字符。显然不是最好的方法!
我正在使用 regExp 对象。
regex - 在正则表达式中工作“太好”的积极后视
模式匹配超出预期。如果有人可以解释为什么“地址”是后视的一部分时匹配,以及如何防止这种情况。提前感谢您对此的任何帮助。
图案:
细绳:
结果: