例如,对于此字符串,
div.img-wrapper img[title="Hello world"]
我想匹配第一个空格而不是第二个空格(包含在[]中).什么是正则表达式?
解决方法
以下表达式将通过使用前瞻断言来完成工作.
_(?>[^[\]]*(\[|$))
下划线代表一个空间.此表达式不支持嵌套括号,因为正则表达式不足以表达嵌套的匹配结构.
_ Match the space and (?> assert that it is not inside brackets [^[\]]* by matching all characters except brackets ( followed by either \[ an opening bracket (a space inside brackets will have a closing bracket at this position) | or $ or no more characters (end of line). ) )
UPDATE
这是使用负面预测断言的另一个(并且更美观)解决方案.
_(?![^[\]]*])
它声称空格后面的下一个括号不是结束括号.