判断一个字符串中,是否包含<a style='cursor:hand;color:black' onclick='funNext(1274410601973);'>下一页</a>其中的 1274410601973 是动态变化的,我觉得应该用正则表达式来解决这个问题。
解决方案 »
- Error creating bean with name 'userManage' defined in class path resource [applicationContext.xml]: Cannot resolve reference to
- web中实现打印,能否介绍几种方式?
- jsp页面下拉菜单动态加载问题
- 关于Hibernate的问题
- jsp生成excel文件
- 各位高手请帮忙
- 数据库里存了ftp的一个文件(或者目录),如何才能知道这个文件(或者目录)在ftp上真的存在
- 各位老大,俺第一次来这里提问,应该是很简单的问题,请多多关照。
- 数据库中读取代码段时,将“<”等替换成“<”,让其代码显示于HTML页面,如何实现?
- 数据库建表的问题
- Could not find action or result报错?
- 新手问下JQUERY取值问题
String s = "<a style='cursor:hand;color:black' onclick='funNext(1274410601973);'>下一页</a>";
String regex = ".*?<a style='cursor:hand;color:black' onclick='funNext\\(\\d+\\);'>下一页</a>.*";
System.out.println(s.matches(regex));
String s = "<a style='cursor:hand;color:black' onclick='funNext(0000);'>下一页</a>"; //0000任意改变,不知道这个任意改变只限数字还是什么?
String regex = "(?i).*?<a style='cursor:hand;color:black' onclick='funNext\\(\\d+\\);'>下一页</a>.*"; //这里限制的任意改变是数字类型的,如果有其他需求,可以修改\\d+为.*?什么的
System.out.println(s.matches(regex));
我这里不但需要判断指定的字符中,是否包含,我说的<a style='cursor:hand;color:black' onclick='funNext(1274410601973);'>我还需要把它的值,具体提取出来
public static String getFunNext(String orginHtml)
{
String oldUrl = "";
String regex = ".*?<a style='cursor:hand;color:black' onclick='funNext\\(\\d+\\);'>下一页</a>.*";
if (orginHtml.matches(regex))
{
// 这里怎么提前到具体的呢?
oldUrl = "";
}
return oldUrl;
}
这里的 funNext 里面的是数字
if (orginHtml.matches(regex))
{
oldUrl = orginHtml.replaceAll(regex, "$3"); //抽出数字部分
//如果是抽出整个<a...>...</a>就改成$2
}
return oldUrl;
抽出整个a,你看看我给你发信了,你加我一下QQ吧
if (orginHtml.matches(regex))
{
oldUrl = orginHtml.replaceAll(regex, "$2"); //抽出整个a
}
return oldUrl;平时很少用QQ,有问题在这里问吧
public static String getFunNext(String orginHtml)
{
String oldUrl = "";
// String regex = ".*?<a style='cursor:hand;color:black' onclick='funNext\\(\\d+\\);'>下一页</a>.*";
String regex = "(?i)(.*?)(<a style='cursor:hand;color:black' onclick='funNext\\((\\d+)\\);'>下一页</a>)(.*)";
if (orginHtml.matches(regex))
{
oldUrl = orginHtml.replaceAll(regex, "$2"); // 抽出数字部分
// 如果是抽出整个<a...>...</a>就改成$2
}
return oldUrl;
}我这样试验了,if语句不成立,oldUrl是空值,
String orginHtml = "00000000000000000<a style='cursor:hand;color:black' onclick='funNext(1274410601973);'>下一页</a>999999999999999";
String oldUrl = "";
String regex = "(?i)(.*?)(<a style='cursor:hand;color:black' onclick='funNext\\((\\d+)\\);'>下一页</a>)(.*)";
if (orginHtml.matches(regex))
{
oldUrl = orginHtml.replaceAll(regex, "$2"); //测试没问题
System.out.println(oldUrl);
}是不是你的orginHtml里含有换行符什么的?
改成这样试试看(忽略换行符)
String regex = "(?is)(.*?)(<a style='cursor:hand;color:black' onclick='funNext\\((\\d+)\\);'>下一页</a>)(.*)";