求大神帮忙解析下该正则的规则

/(?:([^:;\(\[]*):)?(.*)/

求大神帮忙解析下,.*我能看懂,但是前面的都看不懂

阅读 2.4k
3 个回答
/(?:([^:;\(\[]*):)?(.*)/

首先 (?:...)?(.*) 看最外边的两个括号,第一个是非捕获型括号,? 号作用于这个括号。第二个括号是捕获型的,并且匹配多个任意字符。

然后,([^:;([]*): 第一个括号里有一个捕获型括号和一个字符 :

[^:;([]* 捕获型括号中又包含一个字符组([]) 与一个 * 号,字符组中匹配多个除了 ; ( [ 的字符

上面有图,我来解释下。

首先是非获取匹配,零个或一个(?:xxxxxxx),然后匹配了0个或多个:号、;号、(号、[号之外的任意字符,之后紧接着一个:号,之后匹配零个或多个任意字符。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题