我只是尝试使用正则表达式从此xml标记中获取所有属性。
<img src="data:image/jpeg;base64,somthing=" width="280" height="186" >
我目前正在使用[^ ]*[ ]*=[ ]*\".*?\"
,它匹配任何内容,然后是一个或零空格,然后是一个eqaul符号,然后是一个或零空格,然后是双引号,然后找到下一个双引号。
如果最后没有等号,一切正常。我在哪里错过了?
答案 0 :(得分:1)
您在尝试捕获一个或零空格([ ]*
)时使用*运算符,您想要使用的运算符是&#39;?&#39; ([ ]?
)
作为一个建议,这里我将如何捕获属性是xml标记:
\w+\s?=\s?\".*?\"
编辑:顺便说一下,*运营商会根据需要捕获零个或多个匹配项,而不是零或一个。
答案 1 :(得分:1)
鉴于您的例子,以下正则表达式似乎更直观:(\ S {5,})
使用{5,}就是为了摆脱&lt; img和&gt; 请参阅输出:https://regex101.com/r/Nfj6zr/3