问题标签 [negative-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 - 正则表达式:选择不包含 3 个分号的行的行尾字符
我在 EditpadLite 中使用了启用 Regex 的 Search&Replace 功能。我的文档看起来像这样
问题; 每行应包含 4 ;符号,因此第 3 行和第 6 行需要在行尾附加分号,方法是将 \n 替换为 ;\n。我试过了:
选择前面没有正好包含 3 个分号的行的行尾字符。但是,这不起作用,因为我认为分号不是连续的。有替代方案吗?
javascript - Javascript正则表达式:找到一个不跟空格字符的单词
我需要 javascript 正则表达式,它将匹配不跟空格字符并且之前有 @ 的单词,如下所示:
@bug - 找到“@bug”,因为它后面没有空格
@bug 和我 - 什么也没找到,因为“@bug”后面有空格
@bug 和 @another - 仅查找“@another”
@bug 和 @another 什么都找不到,因为这两个词后面都跟有空格。
帮助?补充:字符串是从中获取的,FF 将它自己的标签放在它的末尾。虽然我基本上只需要最后一个以@开头的单词,但不能使用$(end-of-string)。
regex - 回顾 VBA 的正则表达式?
有没有办法在 VBA 正则表达式中进行消极和积极的回顾?
如果字符串以“A”开头,我想不匹配,所以我目前在模式的开头执行 ^A,然后删除 match(0) 的第一个字符。显然不是最好的方法!
我正在使用 regExp 对象。
php - 正则表达式:向后看以避免奇数个连续反斜杠
我有用户输入,其中方括号内允许使用一些标签。我已经编写了正则表达式模式来查找和验证括号内的内容。
在用户输入字段中,左括号([)可以用反斜杠转义,反斜杠也可以用另一个反斜杠(\)转义。我需要后视子模式以避免在打开括号之前出现奇数个连续反斜杠。
目前我必须处理这样的事情:
它工作正常,但问题是这段代码仍然匹配括号前面可能的连续反斜杠对(即使它们是隐藏的),并且向后看只是检查是否有另一个单个反斜杠附加到对(或直接到左括号) . 如果可能的话,我需要在后视组中避免它们。
例子:
我使用 PHP PCRE
regex - 使用正则表达式筛选源代码树以查找函数调用的出现
与其在VS2010中打开一堆解决方案文件然后搜索函数调用的出现/引用,我宁愿只用正则表达式grep。我可以分两遍执行此操作-首先对所有出现的 进行 grep MyFunction()
,然后删除它在被注释掉的行上的所有出现(注意:我意识到这不处理块注释,现在还可以) .
我想看看是否有更好的方法来做到这一点,regular-expressions.info有一个有趣的教程,关于正面和负面的前瞻和后瞻。
使用我最喜欢的在线正则表达式评估器,我处理了以下示例:
但惨败。我什至不确定我正在尝试做的事情是否可以通过负面的后视来实现。这是我认为可能有效的方法:
但它不匹配......有人可以在这里启发我吗?
regex - 正则表达式 - 负前瞻
我正在尝试使用 Perl 的负前瞻正则表达式从目标字符串中排除某些字符串。请给我你的建议。
我试图获取没有-sm、-sp 或-sa 的字符串。
正则表达式:
输入
预期输出:
但是,我在下面得到了这个实际输出:
请帮我。
ps:我使用Regex Coach 来可视化我的结果。
regex - Perl 正则表达式负回顾
试图在正则表达式处理中围绕前瞻和后视。
假设我有一个列出 PID 和其他内容的文件。我想构建一个正则表达式来匹配 PID 格式\d{1,5}但这也排除了某个 PID。
在这个正则表达式中,我尝试使用(?<!TO_EXCLUDE)构造将数字匹配与排除相结合。这行不通。
示例文件:
如果有人能指出我正确的方向,将不胜感激。
也有兴趣了解在这种情况下这种消极的后视是否是最有效的。
regex - 匹配一个词,但不在评论中
我正在尝试匹配一个单词,但不是在它前面有评论(/*
而不是后面*/
)的情况下。到目前为止,我一直在尝试使用否定的前瞻断言来实现这一点,但没有成功。这是否可以通过消极的前瞻或消极的后视断言来实现,或者这是徒劳的努力?
javascript - Javascript Regex - 假装后视的意外行为
我正在尝试编写一个小部件来整理来自多个来源的推文作为练习(类似的东西存在这里,但是a)那里提供的列表选项没有加载我的任何列表,并且b)这是一个有用的学习练习!)。作为其中的一部分,我想编写一个正则表达式,用指向用户 Twitter 页面的链接替换 Twitter 句柄('@' 后跟字符)。但是,我不希望出现误报,例如,推文中的电子邮件地址。
因此,例如,替换应该发送
到
在这个问题的指导下,这表明我需要某种方式在 Javascript 中复制负面的后视,我编写了以下代码:
但是,在触发三元运算符的最后部分的情况下,$0 包含“@”符号。这出乎我的意料——因为 '@' 没有括在括号中,我希望 $0 匹配 '([^\s,.;:]*)' - 即 Twitter 用户的用户名(之后,和没有,'@')。我可以通过使用 $0.substring(1) 获得所需的功能,但我想进一步了解。
有人可以指出我误解了什么吗?我对正则表达式很陌生,从来没有用 Javascript 编写过它们,也没有使用过负面的后视。