![]() |
1
1
您可以使用这两种方法之一。 方法1: SKIP-FAIL regex
你可以匹配所有以
PHP demo :
输出:
方法2:可选的捕获组和一些后处理
在php pcre regex模式中,不能使用无限宽lookbehinds,这意味着不能用
通常的解决方法是使用 可选捕获组 并在找到匹配项后检查其值。如果组值不为空,则表示匹配应为“失败”,丢弃,否则,获取所需的捕获。 下面是一个正则表达式示例:
见 regex demo :
绿色突出显示的子字符串是组1匹配项。我们可以这样在代码中检查它们:
见 PHP demo :
输出:
同样的技术也可以用于
|
![]() |
DotFX · RegEx捕获关键字前但括号后的所有内容 8 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 8 月前 |
![]() |
iato · 确保正则表达式不从命名材料中的数字中提取 9 月前 |
![]() |
vr8ce · 非成对标记中特定字符的正则表达式 9 月前 |
![]() |
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 9 月前 |
![]() |
Carsten · 使用最近的搜索模式更改文本块 9 月前 |