|
|
1
20
可能的解决方案是使用 positive look behind :
它将为您提供以下结束位置:
如前所述 Timothy Khouri A 积极的展望 更直观
我更喜欢他的提议
也就是说 第一位置 你想要的字符串 并捕获第二组n(2) . 这是因为:
所以组(1)和组(2)将捕获“n”表示的任何内容(即使它是一个复杂的regex)。 |
|
|
2
23
在捕获组中使用lookahead是可行的,但是会使regex变得更慢、更复杂。另一种解决方案是告诉regex.match()方法下一次匹配尝试应该从哪里开始。试试这个:
|
|
|
3
1
对于afaik,没有一种纯粹的regex方法可以立即做到这一点(即返回您请求的三个捕获而不返回循环)。 现在,您可以找到一次模式,并在搜索中循环,从偏移开始(找到位置+1)。应该结合使用regex和简单代码。
[编辑]太好了,当我基本上说简的表演时,我被否决了…
|
|
|
DotFX · RegEx捕获关键字前但括号后的所有内容 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |
|
|
iato · 确保正则表达式不从命名材料中的数字中提取 1 年前 |
|
|
vr8ce · 非成对标记中特定字符的正则表达式 1 年前 |
|
|
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 1 年前 |
|
|
Carsten · 使用最近的搜索模式更改文本块 1 年前 |