我有一个文件
<a href="blah.com" rel="blahblah" style="textdecoration:none;">blah</a>
我想匹配rel="blahblah"
但当我\rel=".*"
时,它匹配rel="blahblah" style="textdecoration:none;"
我尝试了rel=".*\{-\}"
,但错误nested \{
答案 0 :(得分:22)
您可以使用:
rel=".\{-}"
\{-}
用于VIM中的非贪婪匹配
答案 1 :(得分:3)
默认情况下,正则表达式匹配器很贪婪。
s/rel=".\{-}"/aaaaaaa/
适合我
{ - }表示短路表达式以匹配最短的模式。
答案 2 :(得分:2)
尝试使用[^"]
代替.
。后者是“贪婪的”,会尽可能多地匹配字符。
regexps中的[d-r13579]
用于匹配“字符类”:在这种情况下,d
到r
范围内的任何小写字母或奇数位。如果你用^
开始课程,那么它就会否定其含义。
因此[^"]
表示除双引号外的字符,"[^"]*"
表示两个双引号,它们之间有任意数量的任意字符,双引号除外。
答案 3 :(得分:0)
我发现使用\{-}
令人困惑,所以在这种情况下,我通常会选择类似/rel="[^"]*"
的内容。