问题标签 [regex-lookarounds]

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 投票
4 回答
530 浏览

php - PHP RegEx 否定词

我的 preg_replace 模式正则表达式代码在这里..

这是我的替换代码..

所以我想否定/排除一个条件..如果 img 标签有一个rel="customimg",不要 preg_replace 所以跳过它..

示例:跳过此行

什么可能会添加到这个正则表达式模式?

我搜索了另一个帖子,但我不能完全..

0 投票
2 回答
75 浏览

regex - 需要匹配但从列表中排除

(AEF01?/.*|.*/FC070?/.*).*会发现

但不是

但我希望它反过来 - 我希望它查看第一列并忽略任何AEF01代码,但在该列中选择任何其他内容,同时查看第二列并忽略FC070但选择其他任何内容。AEF01并且FC070可能并不总是一起出现。

我已经尝试过[^](?!)一切(?<!)都无济于事。我很想解决这个问题,因为我的项目没有这个表达式就停滞了。

0 投票
3 回答
112 浏览

c# - 如果之前没有特定的单词,则正则表达式替换一个单词

在 C# 中使用正则表达式,如果之前没有特定的单词,我应该替换它在我的示例中,它将“Ballmer”替换为“Steve Ballmer”

在:

结果:

但如果“史蒂夫”已经在那里,我不应该再添加史蒂夫。

在:

结果:

谢谢。

0 投票
4 回答
193 浏览

regex - 匹配不以特定序列结尾的表达式的模式

我需要一个正则表达式模式来匹配不以这样的序列结尾的字符串: \.[A-z0-9]{2,} 我的意思是,被检查的字符串在其末尾不能有一个点序列,然后是两个或多个字母数字字符。例如,字符串 /home/patryk/www and 也 /home/patryk/www/ 应该匹配所需的模式 /home/patryk/images/DSC002.jpg而不应该匹配。我想这与环视(前瞻)有关,但我仍然不知道如何做到这一点。任何帮助表示赞赏。

0 投票
2 回答
650 浏览

c# - 正则表达式 如果单词与给定前缀不匹配,则替换所有找到的匹配项

如何在不匹配给定文本前缀的情况下替换文本值?

例如:

test hello world... I know hello world, this seems hello world..

那么我们的替换值为“HI”

文本将是..

test hello world... I know HI, this seems HI..

0 投票
1 回答
102 浏览

regex - 可变大小环视如何工作

当 RegEx 引擎到达 RegEx 中的多个环视部分时,它们是如何在内部工作的。

我已经阅读了这篇优秀的文章,但它不包括环视。任何人都可以用类似的方法大致解释一下环视(负面,正面,后面,向前)机制吗?

(我也很想知道引擎如何解释以下正则表达式:(RegExs 是不同的正则表达式字符串,可能是可变大小的,即包含+*

,我不想知道与它们匹配的内容,但我想知道引擎如何与它们匹配,它们只是示例。谢谢

NFA(非确定性有限自动化)图或任何类似的图对于说明该主题非常有用。

请不要让我参考regular-expressions.info,我已经读过了!它只是使用了两个非常简单的例子,我想大致了解引擎机制。

0 投票
2 回答
263 浏览

ruby - 为什么我的 Ruby 前瞻正则表达式不起作用

可能重复:
正则表达式匹配打开的标签,XHTML 自包含标签除外

我在 rubular.com 中测试了我的正则表达式,它可以工作,但是当我运行代码时,它的行为会有所不同。

我想从一些 HTML 代码中解析出整个段落

这是我的正则表达式

这是一些HTML源代码

匹配从我需要的地方开始,但随后它一直匹配到文档的末尾。

0 投票
2 回答
1362 浏览

java - 从字符串格式的十进制/Java 错误中删除尾随 0 - 后视模式匹配必须在索引 15 附近具有有界的最大长度

我正在尝试匹配小数点中的最后一组 0。例如: In9780.56120000 0000将被匹配。这个正则表达式:

(?<=\.\d{0,20})0*$

似乎在 RegexBuddy 中工作,但 Java 失败并出现以下错误:

后视模式匹配必须在索引 15 附近有一个有界的最大长度

任何人都可以对这个问题提供一些见解吗?

0 投票
5 回答
2195 浏览

java - 空格分隔的字符串java所需的正则表达式

我有一个处理许多空格分隔字符串的操作,我正在为字符串匹配函数寻找一个正则表达式,如果第一个空格之前的前两个字符串以大写字母开头,它将触发传递,如果不是,则返回 false。

例子:

将作为前两个子字符串返回 true,并分别以大写字母AL_RIT_121PA_YT_32开头AP

p在小写中返回 false。

0 投票
2 回答
52 浏览

.net - 寻找不在另一个字符串模式内的字符串

我有if, else, endif一个专有语言的经典实现。

鉴于我有下面的字符串,我想找到该[!--@Else--]语句,但只找到不在块内的那个[!--@If--]...[!--@EndIf--]。所以我想要偶数的ifs 在匹配之前打开和关闭else...



在这个例子中,我想找到第二个else- 而不是第一个,因为它在if/endif块内。

我现在已经花了无数个小时进行消极和积极的回顾,但无法让它发挥作用!?