问题描述
- 麻烦看一下这一段正则表达式,有一点问题
-
(?:(?:https?|ftp)://|www.)[-a-z0-9+&@#/%?=~_|!:.;]*[-a-z0-9+&@#/%=~_|]/i这段正则的功能是匹配URL这里的是为了什么-a a前面的- 是什么-a-z0-9+ 后面的一堆&@#/%?=~_|!:.; 这些是什么啊。。。。如果是符号匹配的话,不需要加吗?* 后的[ ] 又是为了什么,不是已经有*了吗? 最后的 [ ] 后面的 /i 又是什么?
解决方案
:匹配单词边界,即URL前面是个空格
/i : 忽略大小写
-a-z0-9+&@#/%?=~_|!:.; : 匹配 “-”,a-z0-9“+”“&”“@”“#”“/”“%”,“?”“=”,“~”,“_”,“|”,“!”,“:”,“”,“.”,“;”
- 后的[ ] 又是为了什么,不是已经有*了吗? 对于这个,我感觉*可以写成+,表示匹配1次或多次
解决方案二:
匹配单词。
-a,就是除了字母还可以匹配-号。然后还有其它特殊符号。[]中是字符组。里面都是字符,不需要转义
解决方案三:
被称作单词边界,他会匹配一个单词的开始或者结束,产生一个长度为0的匹配,举例:若想匹配my cat is brown的cat但是不能匹配category或者是bobcat
,就可以用cat
解决方案四:
MyEclipse+Tomcat 问题 麻烦各位帮忙看一下
时间: 2024-10-31 11:07:41