java模式匹配问题
我有一个问题要写合适的正则表达式来匹配URLjava模式匹配问题,java,regex,string,Java,Regex,String,我有一个问题要写合适的正则表达式来匹配URL String input = "AAAhttp://www.gmail.comBBBBabc@gmail.com" String regex = "www.*.com" // To match www.gmail.com URL Pattern p = Pattern.compile(regex) Matcher m = p.matcher(input) while(m.find()){ } 在这里,我想删除Urlwww
String input = "AAAhttp://www.gmail.comBBBBabc@gmail.com"
String regex = "www.*.com" // To match www.gmail.com URL
Pattern p = Pattern.compile(regex)
Matcher m = p.matcher(input)
while(m.find()){
}
在这里,我想删除Urlwww.gmail.com
。然而,它匹配到字符串的末尾,以匹配电子邮件地址,电子邮件地址也以gmail.com
结尾。
有人能帮我找到只匹配URL的正则表达式吗
*
进行贪婪匹配。您必须在*
之后添加?
,以进行不情愿的匹配
"www\\..*?\\.com"
你的代码是
String s = "AAAhttp://www.gmail.comBBBBabc@gmail.com";
Pattern p = Pattern.compile("www\\..*?\\.com");
Matcher m = p.matcher(s);
while (m.find()) {
System.out.println(m.group(0));
}
非贪婪地重复通配符“.”和转义点,当取反字符类的速度比
*?
使用此正则表达式:
www\.[^.]+\.com
[^.]+
表示任何不是点的字符
在Java中,我们需要转义一些字符:
// for instance
Pattern regex = Pattern.compile("www\\.[^.]+\\.com");
// etc
这里我想删除Urlwww.gmail.com
你确定还是要提取????
// for instance
Pattern regex = Pattern.compile("www\\.[^.]+\\.com");
// etc