关于*的困惑?正则表达式运算符

Ayo*_*o I 0 regex microsoft-expression-web regex-greedy

所以我想使用下面的正则表达式搜索字符串:

border-.*\.5pt
Run Code Online (Sandbox Code Playgroud)

找到所有border-top,border-bottom在与的边框厚度文件等CSS属性.5pt.它通常效果很好,但它太贪心了.

例如,以下所有内容都以单个匹配的形式返回:

border-top:solid #1F497D .5pt;border-bottom:solid #1F497D .5pt
Run Code Online (Sandbox Code Playgroud)

我希望这两个CSS属性是两个单独的匹配.

所以我试着将我的正则表达式修改为:

border-.*?\.5pt
Run Code Online (Sandbox Code Playgroud)

?它来使它不贪婪.但是,在修改之后,没有任何匹配.

谁能解释为什么我看到这种行为?我错过了什么?

(如果值得了解的话,我在进行此搜索时使用的是Microsoft Expression Web的"使用正则表达式查找".)

Mud*_*Mud 8

没有一种"正则表达"语言.虽然存在广泛的共性,但细节因实施而异.许多正则表达式使用-非贪婪的"0或更多",其他人正在使用*?.显然Microsoft Expression Web使用@.

简而言之,正则表达式可能有所不同,因此您经常需要使用RTM来查找其功能范围和详细语法(即支持更改/回溯/等,分组字符,设置速记等). )