A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郑枫 中级黑马   /  2012-9-4 11:39  /  2145 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 郑枫 于 2012-9-4 12:15 编辑

我想把   src="http://ww2.sinaimg.cn/bmiddle/8e2a8558jw1dvdr2r8jkej.jpg 获取, 我想着是 以src=  开头 .jpg结尾,中间任意字符  这样怎么定义呀。

评分

参与人数 1黑马币 +30 收起 理由
王德升 + 30 赞一个!

查看全部评分

8 个回复

倒序浏览
/src"(.*?)\.jpg/
回复 使用道具 举报
孙沛 发表于 2012-9-4 11:46
/src"(.*?)\.jpg/

"  是什么意思呀。。
回复 使用道具 举报
本帖最后由 周兴华 于 2012-9-4 12:10 编辑

import java.util.regex.*;
class RegexDemo2
{
public static void main(String[] args)
{
  getDemo();
}
public static void getDemo()
{

  String str = "src=http://ww2.sinaimg.cn/bmiddle/8e2a8558jw1dvdr2r8jkej.jpg";
  System.out.println(str);
String reg = "【s】[r][c][=](.)+[\\.][j][p][g]";  //这里就是楼主想要的正则表达式
  //将规则封装成对象。
  Pattern p = Pattern.compile(reg);
  //让正则对象和要作用的字符串相关联。获取匹配器对象。
  Matcher m  = p.matcher(str);
  System.out.println(m.matches());
}
}
回复 使用道具 举报
String reg = "[r][c][=](.)+[\\.][j][p][g]";
额,一写正则就被划线了,楼主看内容就好了。
回复 使用道具 举报
周兴华 发表于 2012-9-4 11:58
import java.util.regex.*;
class RegexDemo2
{

:)  太感谢你了,   中间的(.)+ 的意思是不是  可以是任意字符啊,  但是这个()什么意思呀。
回复 使用道具 举报
郑枫 发表于 2012-9-4 12:08
太感谢你了,   中间的(.)+ 的意思是不是  可以是任意字符啊,  但是这个()什么意思呀。 ...

()是把括号里面的字符定义为一个组,
.就是任意字符
(.)+ 加上一个加号表示这个组里的字符可以出现一次或多次。
回复 使用道具 举报
周兴华 发表于 2012-9-4 12:12
()是把括号里面的字符定义为一个组,
.就是任意字符
(.)+ 加上一个加号表示这个组里的字符可以出现一次 ...

:handshake  谢谢你。  明白了。
回复 使用道具 举报
郑枫 发表于 2012-9-4 12:14
谢谢你。  明白了。

楼主,其实可以不用括号,直接用 .+ 就可以表示任意字符出现一次或多次,我用刚刚给你贴的那个代码验证过了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马