Java正则表达式的匹配问题

(http://|www)\56?\\w+\56{1}\\w+\56{1}\\p{Alpha}+为什么能够匹配http://xiaojiang.cn我的拆法如下:(htt... ( http://|www)\56?\\w+\56{1}\\w+\56{1}\\p{Alpha}+为什么能够匹配 http://xiaojiang.cn
我的拆法如下:
( http://|www)\56?匹配http://
\\w+\56{1}匹配xiaojiang.
\56{1} \\p{Alpha}+匹配.cn
但是中间还多出一个 \\w+\56{1}, \\w+\56{1}为什么可以不用匹配?
多出了\\w+\56{1},应该是匹配失败啊,但是我测试结果是匹配成功,何解?
展开
 我来答
flyingFish211
2011-02-22 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
原因在于\56(.的匹配上),
如果你换成.本身,就会匹配失败
(http://|www)\\.?\\w+\\.{1}\\w+\\.{1}\\p{Alpha}+

具体为什么你提到的那个我也不是很清楚,我估计应该在\56可能在转换期间发生了问题。。
追问
“.”会匹配所有的字符,当然不行哦~
只能用“\56”来代替“.”
还是应该多谢你的回答呀!
追答
你这个问题我昨天深究了下,貌似正则有个贪婪模式的。不过我还没彻底弄明白贪婪模式,所以没有增加新的解释上来。
点号.是需要转义的。你那个不能用\.么?
\.也代表.本身的啊,
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式