在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ (?<=//|)(((\w)+\.)+\w+)(\:(\d+)) 這個正則

(?<=//|)(((\w)+\.)+\w+)(\:(\d+)) 這個正則怎么理解

(?<=//|)(((w)+.)+w+)(:(d+)) 這個正則怎么理解
回答
編輯回答
歆久

這個正則想匹配網(wǎng)址,類似于這種的(有域名,有端口號) http://second.www.baidu.com:8080second.www.baidu.com:8080,取其中 //后或者開頭后的部分。
你這個正則寫的又有點問題,其中的//應(yīng)該加上轉(zhuǎn)義字符后變成 \/\/, (\w)+這句的意圖應(yīng)該寫成\w+.

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

分段解釋下:

  1. (?<=\/\/|^)要求匹配的目標(biāo)前面必須有 //或者匹配的目標(biāo)在最前面。
  2. (\w+\.)+\w+匹配 文本.一次或多次 + 文本,形如 abcd.efgh abcd.efgh.izk abcd.efgh.izk.sfds都能被匹配上, abcd單獨不能被匹配
  3. \:(\d+) 匹配 :多個數(shù)字, 即端口號
2018年4月20日 15:50