【发布时间】:2013-08-17 00:16:53
【问题描述】:
所以我想搜索一个字符串,使用下面的正则表达式:
border-.*\.5pt
在边框粗细为.5pt 的文件中查找所有border-top、border-bottom 等CSS 属性。它通常效果很好,但它太贪婪了。
例如,以下所有内容都作为单个匹配项返回:
border-top:solid #1F497D .5pt;border-bottom:solid #1F497D .5pt
我希望这两个 CSS 属性是两个单独的匹配项。
所以我尝试将我的正则表达式修改为:
border-.*?\.5pt
使用? 使其不贪婪。但是,在修改之后,没有任何匹配项。
谁能解释我为什么会看到这种行为?我错过了什么?
(如果值得了解的话,我在执行此搜索时使用了 Microsoft Expression Web 的“使用正则表达式查找”。)
【问题讨论】:
-
I can only tell that it works here,所以可能是您应用的正则表达式引擎...
-
@Wrikken,你是对的。我错误地认为微软产品的正则表达式语法会保持一致。事实证明,PowerShell(我使用的参考)具有与 Expression Web 不同的运算符。学过的知识。感谢您查看它!
标签: regex regex-greedy microsoft-expression-web