为了账号安全,请及时绑定邮箱和手机立即绑定

一句正则不懂

一句正则不懂

SMILET 2019-04-08 11:17:27
preg_match_all("#(^|\s|\()((http(s?)://)|(www\.))(\w+[^\s\)\
查看完整描述

2 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

我把每一部分都解释给题主吧。
#(^|\s|\()((http(s?)://)|(www\.))(\w+[^\s\)\<]+)#i
两边的#是PCRE分隔符,最后一个i表示忽略大小写。
(^|\s|\()
字符串开头,或者有空格分隔,或者匹配一个左括号。这个部分是一个未命名分组。
((http(s?)://)|(www\.))
匹配http://或者https://或者www.。这个部分是一个未命名分组,其中又分成两个未命名分组。
(\w+[^\s\)\<]+)
匹配至少一个字母数字,之后再匹配至少一个不是空格、右括号、左尖括号的字符。这里又是一个未命名分组。
结束。
                            
查看完整回答
反对 回复 2019-04-08
?
弑天下

TA贡献1818条经验 获得超8个赞

推荐两个debug正则的站点:
debuggex界面凑合,功能强大,支持多种语言的正则
regexper比较好看,只支持javascript的正则
                            
查看完整回答
反对 回复 2019-04-08
  • 2 回答
  • 0 关注
  • 339 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信