正则表达式问题??

cooc123 2008-04-23 09:18:12
http://item.slide.com/r/1/123/i/ http://item.slide.com/r/1/217/i/ http://item.slide.com/r/1/157/

我要匹配最后一个URL 表达式怎么写呢
...全文
164 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
cooc123 2008-04-25
  • 打赏
  • 举报
回复
过滤所有HTML标签怎么写,除<br />外
joejoe1991 2008-04-25
  • 打赏
  • 举报
回复
		try
{
String str = "<a>sdfa<b>s<br/>df<a><form><a/></form>xxxx<br/><b>";
str = str.replaceAll("</?[^>]+?(?<!br/?)>","");
System.out.println(str);
}
catch (Exception e)
{
e.printStackTrace();
}
梅小西Echo 2008-04-24
  • 打赏
  • 举报
回复
 public static void main(String[] args)
{

String s = "http://item.slide.com/r/1/157/.jpg http://item.slide.com/r/1/217/i/ http://item.slide.com/r/1/157/.jpg ";
Pattern p = Pattern.compile("(http://*(?:(?!.jpg).)*?)\\s");
Matcher m = p.matcher(s);
m.matches();
while(m.find())
{
System.out.print(" "+m.group(1));

}

}
cooc123 2008-04-24
  • 打赏
  • 举报
回复
简单点,我有N个URL 我要把不是以 .jpg 结尾的URL 全部取出来
chief_fu 2008-04-24
  • 打赏
  • 举报
回复
问一下,怎么使发上去的代码像19楼21楼那样好看????
chief_fu 2008-04-24
  • 打赏
  • 举报
回复
package dom;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class Test1 {

public static void main(String[] args) throws Exception {
cc();
}

public static void cc() throws IOException{
String content = getString("pattem.html"); //读取网页内容
String pattern = "(http://[^\\s]*[^\\.jpg]\\s)"; //以‘http://’开头,以空格等空白字符结尾,中间部分没有空格或空白字符且不以‘.jpg’结尾
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(content);
String temp=null;
while(m.find()){
temp = m.group(1);
}
System.out.println(temp.replaceAll("\"|\'", "")); //去掉" ' (打印最后一个)
}
private static String getString(String path) throws IOException{
StringBuffer sb = new StringBuffer();
BufferedReader br = new BufferedReader(new FileReader(new File(path)));
String temp=br.readLine() ;
while(temp!=null){
sb.append(temp).append("\n");
temp = br.readLine();
}
return sb.toString();
}
}
测试通过。
joejoe1991 2008-04-24
  • 打赏
  • 举报
回复
空格快把我整吐了,先发个半成品上来吧。

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

String s = "http://item.slide.com/r/1/157/.jpg http://item.slide.com/r/1/217/i/ http://item.slide.com/r/1/157/.jpg ";
Pattern p = Pattern.compile("http://[^\\s]+?(?<!\\.jpg)(?=\\s*http://|$|\\s+)");
Matcher m = p.matcher(s);
while(m.find())
{
System.out.println(m.group());

}

}

}
cooc123 2008-04-24
  • 打赏
  • 举报
回复
Pattern.compile("(http://*(?:(?!.jpg).)*?)\\s");
String s = "http://item.slide.com/r/1/157/.jpg http://item.slide.com/r/1/217/i/ http://item.slide.com/r/1/157/.jpg ";
如果把 \\s 去掉怎么就匹配不到了呢 同时把最后一个空格也去掉了
joejoe1991 2008-04-23
  • 打赏
  • 举报
回复
楼主,你是不是就想要最后一个URL?
怎么我感觉你越说越乱呢?

如果就是想要最后一个:
import java.util.regex.*;

public class Main {

public static void main(String[] args) {
try {
String str = "http://item.slide.com/r/1/123/i/ http://item.slide.com/r/1/217/i/ http://item.slide.com/r/1/157/";
Pattern pat = Pattern.compile("http://(?!.*http://.*).+?$");
Matcher mat = pat.matcher(str);

while (mat.find())
{
System.out.println(mat.group());
}
} catch (Exception e) {
e.printStackTrace();
}

}
}
shili150 2008-04-23
  • 打赏
  • 举报
回复
如果是固定的话

就直接http://item.slide.com/r/1/157/ 这样匹配了

注意转义字符就行了
Cspider588 2008-04-23
  • 打赏
  • 举报
回复
楼主到底是想匹配不已.jpg结尾的url还是最后一个url
qiongshan0475 2008-04-23
  • 打赏
  • 举报
回复
注意:"¦"是 竖
qiongshan0475 2008-04-23
  • 打赏
  • 举报
回复
/^(http:[/][/]){1}((\w|[/])+\.(\w|[/])+)+([/]{1}\w+\.jpg){1}$/

这个应该差不多符合你的要求了
cooc123 2008-04-23
  • 打赏
  • 举报
回复
好的
qiongshan0475 2008-04-23
  • 打赏
  • 举报
回复
(\w)|[/]|\.)+((\.jpg){1})

试试吧!这个表达式url中只能包括/和.
如果象包函N多特殊字符,你就在说一声
cooc123 2008-04-23
  • 打赏
  • 举报
回复
呵呵,要是会,那也不用在这发帖那
qiongshan0475 2008-04-23
  • 打赏
  • 举报
回复
问个问题!
既然你都知道最后一个URL不是以.jpg结尾,那就应该不用找了!!!
cooc123 2008-04-23
  • 打赏
  • 举报
回复
这样,前面所有的URL 都是以.JPG 结尾
但最后一个URL 不是

就把最后一个URL找出来
qiongshan0475 2008-04-23
  • 打赏
  • 举报
回复
你所说的“最后一根URL”指的是什么?
如你说的:“每个URL都不一样”那么你要的是不是就是一个匹配格式如(http://***.***.***)
cooc123 2008-04-23
  • 打赏
  • 举报
回复
比如 http://hao123.com/ http://www.baidu.com/ http://www.google.cn/

我要匹配最后一根URL

当然在应用中,不只3个URL 每个URL 都 不一样
加载更多回复(5)

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧