正则表达式的疑惑
我写了一个匹配url的,可能没考虑全,先这么看着吧
String urlRegex = "[http|https]://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*";
String urlRegex = "(http|https)://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*";
Pattern p = Pattern.compile(urlRegex);
Matcher m = p.matcher("http://www.luger.me");
while(m.find()){
System.out.println(m.group());
}
为什么第一个urlRegex 输出的是p://www.luger.me
第二个就输出http://www.luger.me
求解答
我想找位师兄看看能不能帮我内推进一个互联网公司实习。下面是我的简历
http://www.luger.me/luger/resume.htm 这是我的简历
http://www.luger.me/mywork 这是我的作品
http://www.luger.me 这是我的博客
可以对我进行笔试。
------最佳解决方案--------------------你对正则中关于中括号的作用理解存在偏差,它的意思是任何一个都行,比如:
[0-9]用于匹配 0~9的任何一个数字
[!?]用于匹配 感叹号 或 问号
------其他解决方案--------------------[X]表示Character classes,最终是输出一个character,哪个character? 可以是来自中括号字符集和X中的任意一个
(X
------其他解决方案--------------------Y) 这里括号是capturing group,即捕获组,在这里括号其实没起作用,最终输出的是X或Y
------其他解决方案--------------------集和 => 集合
------其他解决方案--------------------谢谢哈
------其他解决方案--------------------