问题标签 [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.
php - PHP RegEx 否定词
我的 preg_replace 模式正则表达式代码在这里..
这是我的替换代码..
所以我想否定/排除一个条件..如果 img 标签有一个rel="customimg",不要 preg_replace 所以跳过它..
示例:跳过此行
什么可能会添加到这个正则表达式模式?
我搜索了另一个帖子,但我不能完全..
regex - 需要匹配但从列表中排除
(AEF01?/.*|.*/FC070?/.*).*
会发现
和
但不是
但我希望它反过来 - 我希望它查看第一列并忽略任何AEF01
代码,但在该列中选择任何其他内容,同时查看第二列并忽略FC070
但选择其他任何内容。AEF01
并且FC070
可能并不总是一起出现。
我已经尝试过[^]
,(?!)
一切(?<!)
都无济于事。我很想解决这个问题,因为我的项目没有这个表达式就停滞了。
c# - 如果之前没有特定的单词,则正则表达式替换一个单词
在 C# 中使用正则表达式,如果之前没有特定的单词,我应该替换它在我的示例中,它将“Ballmer”替换为“Steve Ballmer”
在:
结果:
但如果“史蒂夫”已经在那里,我不应该再添加史蒂夫。
在:
结果:
谢谢。
regex - 匹配不以特定序列结尾的表达式的模式
我需要一个正则表达式模式来匹配不以这样的序列结尾的字符串:
\.[A-z0-9]{2,}
我的意思是,被检查的字符串在其末尾不能有一个点序列,然后是两个或多个字母数字字符。例如,字符串
/home/patryk/www
and 也
/home/patryk/www/
应该匹配所需的模式
/home/patryk/images/DSC002.jpg
而不应该匹配。我想这与环视(前瞻)有关,但我仍然不知道如何做到这一点。任何帮助表示赞赏。
c# - 正则表达式 如果单词与给定前缀不匹配,则替换所有找到的匹配项
如何在不匹配给定文本前缀的情况下替换文本值?
例如:
test hello world... I know hello world, this seems hello world..
那么我们的替换值为“HI”
文本将是..
test hello world... I know HI, this seems HI..
regex - 可变大小环视如何工作
当 RegEx 引擎到达 RegEx 中的多个环视部分时,它们是如何在内部工作的。
我已经阅读了这篇优秀的文章,但它不包括环视。任何人都可以用类似的方法大致解释一下环视(负面,正面,后面,向前)机制吗?
(我也很想知道引擎如何解释以下正则表达式:(RegEx
s 是不同的正则表达式字符串,可能是可变大小的,即包含+
或*
)
,我不想知道与它们匹配的内容,但我想知道引擎如何与它们匹配,它们只是示例。谢谢
NFA(非确定性有限自动化)图或任何类似的图对于说明该主题非常有用。
请不要让我参考regular-expressions.info,我已经读过了!它只是使用了两个非常简单的例子,我想大致了解引擎机制。
ruby - 为什么我的 Ruby 前瞻正则表达式不起作用
我在 rubular.com 中测试了我的正则表达式,它可以工作,但是当我运行代码时,它的行为会有所不同。
我想从一些 HTML 代码中解析出整个段落
这是我的正则表达式
这是一些HTML源代码
匹配从我需要的地方开始,但随后它一直匹配到文档的末尾。
java - 从字符串格式的十进制/Java 错误中删除尾随 0 - 后视模式匹配必须在索引 15 附近具有有界的最大长度
我正在尝试匹配小数点中的最后一组 0。例如: In9780.56120000
0000
将被匹配。这个正则表达式:
(?<=\.\d{0,20})0*$
似乎在 RegexBuddy 中工作,但 Java 失败并出现以下错误:
后视模式匹配必须在索引 15 附近有一个有界的最大长度
任何人都可以对这个问题提供一些见解吗?
java - 空格分隔的字符串java所需的正则表达式
我有一个处理许多空格分隔字符串的操作,我正在为字符串匹配函数寻找一个正则表达式,如果第一个空格之前的前两个字符串以大写字母开头,它将触发传递,如果不是,则返回 false。
例子:
将作为前两个子字符串返回 true,并分别以大写字母AL_RIT_121
和PA_YT_32
开头A
P
将p
在小写中返回 false。
.net - 寻找不在另一个字符串模式内的字符串
我有if, else, endif
一个专有语言的经典实现。
鉴于我有下面的字符串,我想找到该[!--@Else--]
语句,但只找到不在块内的那个[!--@If--]...[!--@EndIf--]
。所以我想要偶数的if
s 在匹配之前打开和关闭else
...
在这个例子中,我想找到第二个else
- 而不是第一个,因为它在if/endif
块内。
我现在已经花了无数个小时进行消极和积极的回顾,但无法让它发挥作用!?