加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式:匹配未包含在[]中的空格

发布时间:2020-12-14 05:49:35 所属栏目:百科 来源:网络整理
导读:例如,对于此字符串, div.img-wrapper img[title="Hello world"] 我想匹配第一个空格而不是第二个空格(包含在[]中).什么是正则表达式? 解决方法 以下表达式将通过使用前瞻断言来完成工作. _(?[^[]]*([|$)) 下划线代表一个空间.此表达式不支持嵌套括号,因为
例如,对于此字符串,

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

这是使用负面预测断言的另一个(并且更美观)解决方案.

_(?![^[]]*])

它声称空格后面的下一个括号不是结束括号.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读