|
|
1
7
你使用的是贪婪模式,没有指定
|
|
|
2
5
试试这个:
这与以下各项相匹配
|
|
|
3
2
(这是从评论到埃文回答的对话的延续。)
以下是应用(更正的)正则表达式时发生的情况:首先
你真正感兴趣的是“B=”和“;”以及它们之间的任何东西,那么为什么要匹配字符串的其余部分呢?您必须这样做的唯一原因是,您可以用捕获组的内容替换整个字符串。但是,如果您可以直接访问组的内容,为什么还要费心这样做呢?这是一个演示(用Java,因为我不知道你使用的是哪种语言):
当“查找”更简单时,为什么要“替换”呢?可能是因为你的API使它更容易;这就是为什么我们用Java来做。Java在其String类中有几个面向正则表达式的便利方法:
…所以我们满足于这样的黑客:
需要明确的是,我并不是说不要使用这些技巧,也不是说埃文的答案有什么问题——没有。我只是觉得我们应该理解 为什么? 我们使用它们,以及我们在使用时所做的权衡。 |
|
|
DotFX · RegEx捕获关键字前但括号后的所有内容 8 月前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 9 月前 |
|
|
iato · 确保正则表达式不从命名材料中的数字中提取 9 月前 |
|
|
vr8ce · 非成对标记中特定字符的正则表达式 9 月前 |
|
|
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 9 月前 |
|
|
Carsten · 使用最近的搜索模式更改文本块 9 月前 |