java 正则表达式 搜索网页图片地址 ,正斜杠匹配不了 5
publicstaticvoidmain(Stringargs[]){Stringstr="fdsfdsfhttp://wwww.baidu.com/image/1.jp...
public static void main(String args []){
String str = "fdsfdsfhttp://wwww.baidu.com/image/1.jpgfdsfdsfdshttp://wwww.baidu.com/image/2.jpgfdsfdsf";
//[^(http)]+? 修改为 [^(http://)]+? 为什么匹配不上,加上:号没有影响,加上:/就匹配不上了,为什么
String regex = "http://[^(http)]+?\\.(jpg)";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
while(matcher.find()){
System.out.println(matcher.group());
}
}
//console 打印
//http://wwww.baidu.com/image/1.jpg
//http://wwww.baidu.com/image/2.jpg 展开
String str = "fdsfdsfhttp://wwww.baidu.com/image/1.jpgfdsfdsfdshttp://wwww.baidu.com/image/2.jpgfdsfdsf";
//[^(http)]+? 修改为 [^(http://)]+? 为什么匹配不上,加上:号没有影响,加上:/就匹配不上了,为什么
String regex = "http://[^(http)]+?\\.(jpg)";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
while(matcher.find()){
System.out.println(matcher.group());
}
}
//console 打印
//http://wwww.baidu.com/image/1.jpg
//http://wwww.baidu.com/image/2.jpg 展开
2个回答
展开全部
正则表达式是以正斜杠开始和结尾的 例如/^......$/ 所以你的http后面的斜杠必须转义 否则将会被识别为一个空正则和一 个字符串的拼接
满意请采纳!!
满意请采纳!!
追问
哥哥 看清楚了 我说的是java正则表达式,不是javascript的
追答
$
匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\n' 或 ‘\r'。要匹配 $ 字符本身,请使用 \$。
( )
标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。
*
匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。
+
匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。
.
匹配除换行符 \n之外的任何单字符。要匹配 .,请使用 \。
[ ]
标记一个中括号表达式的开始。要匹配 [,请使用 \[。
?
匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?。
\
将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, ‘n' 匹配字符 ‘n'。'\n' 匹配换行符。序列 ‘\\' 匹配 “\”,而 ‘\(' 则匹配 “(”。
^
匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。
{ }
标记限定符表达式的开始。要匹配 {,请使用 \{。
|
指明两项之间的一个选择。要匹配 |,请使用 \|。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询