比如有下面一段代码:
<a href="11"><font color="21">aaa</font></a>
<a href="12"><font color="22">bbb</font></a>
<a href="13">ccc</a>
<a href="14"><font color="24">ddd</font></a>
<a href="15"><font color="25">eee</font></a>
<a href="16">fff</a>上面的代码意思是<font color="***">和</font>不一定有,而且color的值也可能不一样
我现在想得到
aaa
bbb
ccc
ddd
eee
fff这个正则表达式该怎么写?谢谢
<a href="11"><font color="21">aaa</font></a>
<a href="12"><font color="22">bbb</font></a>
<a href="13">ccc</a>
<a href="14"><font color="24">ddd</font></a>
<a href="15"><font color="25">eee</font></a>
<a href="16">fff</a>上面的代码意思是<font color="***">和</font>不一定有,而且color的值也可能不一样
我现在想得到
aaa
bbb
ccc
ddd
eee
fff这个正则表达式该怎么写?谢谢
解决方案 »
- 现在程序已经完成,想做成安装文件……有SQL2005数据库的……
- java问题
- Sun One Studio问题
- Exception in Thread "main" java.lang.NullPointerException运行出错这是什么东东呀??
- double q=019e-13f,这个表达式怎么编译通过了,0开头的不是8进制的吗?
- 郁闷阿!高分寻求解决办法!!关于java的签名验证,在线等待!!!!!
- 请各位抽出一点时间来看看!
- 獻上一百分,誰能給我一份實現master/detail功能的jsp+javabean的代碼?收到馬上給分!
- java.awt.Container.validate() 这个API函数有什么作用?
- rs.close抛出异常的问题!
- 请问 RMISocketFactory 的含义和RMI的理解
- [求助]有关内部类访问变量的问题
public static void main(String args[]) {
String str="<a href='13'>ccc </a> ";
Pattern p=Pattern.compile(">([\\w ]+)<");
Matcher m=p.matcher(str);
while(m.find())
System.out.print(m.group(1));
}
至于你那个aaa bbb ccc我想实际上应该是一个字符串吧 你自己改吧 把">([\\w ]+)<"括号里的表达式按需要改吧 然后m.group(1)就是你要的 应该可以的 而且后面还一个空格 倒
/**
* kimi
*/package test;import java.util.regex.Matcher;
import java.util.regex.Pattern;/**
* @author kimi
*
*/
public class TestCsdn { /*
* <a href="11"> <font color="21">aaa </font> </a> <a href="12"> <font color="22">bbb </font> </a> <a href="13">ccc
* </a> <a href="14"> <font color="24">ddd </font> </a> <a href="15"> <font color="25">eee </font> </a> <a
* href="16">fff </a>
*
*/
/**
* @param args
*/
public static void main(String[] args) {
String s1 = "<a href=\"11\"> <font color=\"21\">aaa </font> </a>\n"
+ "<a href=\"12\"> <font color=\"22\">bbb </font> </a>\n" + "<a href=\"13\">ccc </a>";
String s = "(<a href=\"\\d{2}\">(<font color=\"\\d{2}\">(.*?)</font>)?|(.*?)</a>[\n\r]?)+";
Pattern p = Pattern.compile(s);
Matcher m = p.matcher(s1);
if (m.matches()) {
System.out.println("ok");
}
}
}
初学EL,请多多关照!
import java.util.regex.*;
public class Test6
{
public static void main(String[] args)
{
String s="<a href=\"11\"> <font color=\"21\">aaa </font> </a> "
+"<a href=\"12\"> <font color=\"22\">bbb </font> </a> "
+"<a href=\"13\">ccc </a> "
+"<a href=\"14\"> <font color=\"23\">ddd </font> </a>"
+"<a href=\"15\"> <font color=\"25\">eee </font> </a> "
+"<a href=\"16\">fff </a> ";
String regex="<a.*?>(.*?)</a>";
Pattern pt=Pattern.compile(regex);
Matcher mt=pt.matcher(s);
while(mt.find())
{
System.out.println(mt.group(1).replaceAll("<font.*?>|</font>", "").trim());
}
}
}
能不能一个正则表达式搞定不用后边的replaceAll阿
import java.util.Matcher;public class Test {
public static void main(String[] args) {
String str = "<a href=\"11\"> <font color=\"21\">aaa </font> </a>" +
"<a href=\"12\"> <font color=\"22\">bbb </font> </a>" +
"<a href=\"13\">ccc </a> " +
"<a href=\"14\"> <font color=\"23\">ddd </font> </a>" +
"<a href=\"15\"> <font color=\"25\">eee </font> </a> " +
"<a href=\"16\">fff </a> ";
String regex = "<a[^>]*>(?:\\s*<font[^>]*>)?(.*?)(?:</font>\\s*)?</a>";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
while(matcher.find()) {
System.out.println(matcher.group(1));
}
}
}