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
展开
 我来答
未命名__prince
2013-07-08 · TA获得超过248个赞
知道答主
回答量:196
采纳率:0%
帮助的人:169万
展开全部
正则表达式是以正斜杠开始和结尾的 例如/^......$/ 所以你的http后面的斜杠必须转义 否则将会被识别为一个空正则和一 个字符串的拼接

满意请采纳!!
追问
哥哥 看清楚了  我说的是java正则表达式,不是javascript的
追答
$

匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\n' 或 ‘\r'。要匹配 $ 字符本身,请使用 \$。

( )

标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。

*

匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。

+

匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。

.

匹配除换行符 \n之外的任何单字符。要匹配 .,请使用 \。

[ ]

标记一个中括号表达式的开始。要匹配 [,请使用 \[。

?

匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?。

\

将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, ‘n' 匹配字符 ‘n'。'\n' 匹配换行符。序列 ‘\\' 匹配 “\”,而 ‘\(' 则匹配 “(”。

^

匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。

{ }

标记限定符表达式的开始。要匹配 {,请使用 \{。

|

指明两项之间的一个选择。要匹配 |,请使用 \|。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yu46612143
2013-07-08 · TA获得超过105个赞
知道小有建树答主
回答量:172
采纳率:100%
帮助的人:112万
展开全部
^http://[\\w.]+$
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式