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

(?<=//|)(((\w)+\.)+\w+)(\:(\d+)) 这个正则怎么理解

/ 猿问

(?<=//|)(((\w)+\.)+\w+)(\:(\d+)) 这个正则怎么理解

拉丁的传说 2018-08-03 19:09:39

(?<=//|)(((w)+.)+w+)(:(d+)) 这个正则怎么理解

查看完整描述

1 回答

?
慕用2447696

这个正则想匹配网址,类似于这种的(有域名,有端口号) http://second.www.baidu.com:8080 和 second.www.baidu.com:8080,取其中 //后或者开头后的部分。
你这个正则写的又有点问题,其中的//应该加上转义字符后变成 \/\/, (\w)+这句的意图应该写成\w+.

给你改写了一下 (?<=\/\/|^)((\w+\.)+\w+)(\:(\d+))

分段解释下:

  1. (?<=\/\/|^)要求匹配的目标前面必须有 //或者匹配的目标在最前面。

  2. (\w+\.)+\w+匹配 文本.一次或多次 + 文本,形如 abcd.efgh abcd.efgh.izkabcd.efgh.izk.sfds都能被匹配上, abcd单独不能被匹配

  3. \:(\d+) 匹配 :多个数字, 即端口号


查看完整回答
1 反对 回复 2018-08-05

添加回答

回复

举报

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