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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

现在问题是这样的, 通过 String mailreg = "[h][t][t][p](.)+[\\.][g][i][f]"
这样能获得 首位是  http  结尾是.gif的UTL

但是问题又来了。这样获取到很多没用的GIF。
通过观察 发现 那些没用的GIF是这样形式的。
http:\\.........  j_0000.gif 这样的,点前面是j_数字 数字 数字 数字  连续四个数字,

现在我的想法是把这种的去掉,
我查API 看到 \D 是非数字, 这样我又定义了一下
String mailreg1 = "[h][t][t][p](.)+[\\D][\\D][\\D][\\D][\\.][g][i][f]";
这样吧,定义成点前面的四位 任意以为都不能为数字

怎样才能定义成四位不能全是数字呢?

还有如何定义   _  呢?
或者非 _  

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
你可以换个思路,让它经过两次过滤,这样实现起来比较简单,第一个就是把你需要的gif形式的过滤下来,然后在过滤经过第一次过滤筛选下来的url,把你不想要的格式定义出正则表达式,然后把不符合要求的过滤掉,这样经过两次过滤剩下的就是你想要的url了,把这两个正则表达式编译好,过滤的还是很快的。
回复 使用道具 举报
_可以直接去  非_可以使用^_  ^为取反的意思,推荐你看看这个帖子
http://www.cnblogs.com/dragon/archive/2006/05/08/394078.html
希望采纳啊  分少的可怜啊
回复 使用道具 举报
"怎样才能定义成四位不能全是数字呢?"

// 把格式固定为http:\\的形式
String regx = "http:\\\\\\\\.+\\D{4}\\.gif";

// 不固定为http:\\的形式
String regx = "http.+\\D{4}\\.gif";
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马