麻烦看一下这一段正则表达式,有一点问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

麻烦看一下这一段正则表达式,有一点问题

b(?:(?:https?|ftp)://|www.)[-a-z0-9+&@#/%?=~_|!:,.;]*[-a-z0-9+&@#/%
=~_|]/i

这段正则的功能是匹配URL

这里的b是为了什么
-a a前面的- 是什么
-a-z0-9+ 后面的一堆&@#/%?=~_|!:,.; 这些是什么啊。。。。如果是符号匹配的话,不需要加吗?

  • 后的[ ] 又是为了什么,不是已经有*了吗?
    最后的 [ ] 后面的 /i 又是什么?

展开
收起
a123456678 2016-03-23 14:26:47 1520 0
1 条回答
写回答
取消 提交回答
  • a123456678

    b:匹配单词边界,即URL前面是个空格
    /i : 忽略大小写
    -a-z0-9+&@#/%?=~_|!:,.; : 匹配 “-”,a-z,0-9,“+”,“&”,“@”,“#”,“/”,“%”,“?”,“=”,“~”,“_”,“|”,“!”,“:”,“,”,“.”,“;”

    后的[ ] 又是为了什么,不是已经有了吗? 对于这个,我感觉可以写成+,表示匹配1次或多次

    2019-07-17 19:11:00
    赞同 展开评论 打赏
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载