有没有写正则表达式的高手 写这样一个正则表达式,在一个html文档中匹配<P>、<A href="http://ww.sohu.com"> 、<body>、 </P>、<B>......等这些标签,有人会写吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <script language=javascript>var testP = /<[p|P]>(.*)<\/[p|P]>/;var testA = /<[a|A] href=\"(.*)\">/;</script><input type="button" value="<p>***</p>" onClick="alert(testP.test('<p>aaa</p>'))"><input type="button" value='<a href="aaa.html">' onClick='alert(testA.test("<a href=\"aaa.html\">"))'>其他的自己看看吧,都差不多。<a href="aaa.html">这个标签如果想验证更多就得再验证一下href中的内容。 另外,在JAVA中也是一样的,正则表达式的写法都一样,只是语法不同。 不懂jsp,你指的标签是指什么? 只是<>里面的东西吗? Pattern patt = Pattern.compile("<\\w+>"); samboy2002(六道轮回) 你的/<[p|P]>(.*)<\/[p|P]>/在下面字符串:abc<P>aaa</P><P>bbb</P>abc中查找时,结果只有一个:<P>aaa</P><P>bbb</P>,而我想通过正则表达式在这个字符串中查到两个结果:一个是<P>aaa</P>,另一个是<P>bbb</P> import java.util.regex.*;class fjs{ public static void main(String [] args){ String s= "abc<P>aaa</P><P>bbb</P>abc"; Pattern pa = Pattern.compile("<.+?>\\w+<.+?>"); Matcher ma = pa.matcher(s); while(ma.find()){ System.out.println(ma.group()); } }} 楼主是要匹配标签还是要匹配标签中的内容?还是要匹配标签和内容?举例讲:<p>1234567890</p>楼主是要匹配 <p>和</p> 还是 1234567890 还是 <p>1234567890</p> ??? interhanchi(艰难困苦,玉汝于成!) 你的稍有问题比如<body><p></p></body>你的就会断成<body><p>和</p></body> 刚刚试了一下,由于html标签是允许嵌套使用的所以只有一个一个来查找了Pattern p = Pattern.compile("<[p|P]>\\w+</[p|P]>");Matcher ma = p.matcher(s);.....Pattern b = Pattern.compile("<[b|B]>\\w+</[b|B]>");Matcher ma = b.matcher(s);.....然后一个一个的查询大家看呢 : hlnccc(亚斯托雷斯) 匹配<p>1234567890</p>。 Pattern patt = Pattern.compile("<\\w+>");寒这个~~~ 有那么麻烦嘛,网上有那么多分析html的开源包,随便找一个不就得了。自己写正则你不嫌累啊。 如果仅仅是类似abc<P>aaa</P><P>bbb</P>abc这种情况的话,这样/<[p|P]>.*?</[p|P]>/就OK了,但是若遇到<P><P>aaa</P></P><P>bbb</P>这种含嵌套的标签就不行了 是的,写正则的局限性很大,没有你自己直接分析html代码来得直接。html本身就不规则,这么做太大的局限性了。 gcc -V2.1 -c old.c , 装点东西 为什么直接运行出错但调试没有错 线程的wait()问题 6个数中选3个数如何实现,在咱数据结构中是个什么算法?谢谢了 链表问题,我自己写的deletLast方法为什么不行 关于break和continue 跳转到标号 关于ArrayList的小问题 急!!!!!!!!!!!!!!!!!!!!! 关于文件,急,在线等! 如何恢复JTextPane的缺省样式? 请教JFormattedTextField的用法 Warning: Applet Window是什么意思?如何解决? 诚恳请教关于JTree的实时更新问题!(可以追加给分!急!!非常感谢) 怎样获得系统cpu队列长度,用什么函数?
var testP = /<[p|P]>(.*)<\/[p|P]>/;
var testA = /<[a|A] href=\"(.*)\">/;
</script>
<input type="button" value="<p>***</p>" onClick="alert(testP.test('<p>aaa</p>'))">
<input type="button" value='<a href="aaa.html">' onClick='alert(testA.test("<a href=\"aaa.html\">"))'>其他的自己看看吧,都差不多。
<a href="aaa.html">这个标签如果想验证更多就得再验证一下href中的内容。
Pattern patt = Pattern.compile("<\\w+>");
你的/<[p|P]>(.*)<\/[p|P]>/在下面字符串:abc<P>aaa</P><P>bbb</P>abc中查找时,结果只有一个:<P>aaa</P><P>bbb</P>,而我想通过正则表达式在这个字符串中查到两个结果:一个是<P>aaa</P>,另一个是<P>bbb</P>
import java.util.regex.*;
class fjs{
public static void main(String [] args){
String s= "abc<P>aaa</P><P>bbb</P>abc";
Pattern pa = Pattern.compile("<.+?>\\w+<.+?>");
Matcher ma = pa.matcher(s);
while(ma.find()){
System.out.println(ma.group());
}
}
}
<p>1234567890</p>楼主是要匹配 <p>和</p> 还是 1234567890 还是 <p>1234567890</p> ???
Pattern p = Pattern.compile("<[p|P]>\\w+</[p|P]>");
Matcher ma = p.matcher(s);
.....
Pattern b = Pattern.compile("<[b|B]>\\w+</[b|B]>");
Matcher ma = b.matcher(s);
.....
然后一个一个的查询
大家看呢
匹配<p>1234567890</p>。
寒这个~~~
这样/<[p|P]>.*?</[p|P]>/就OK了,
但是若遇到<P><P>aaa</P></P><P>bbb</P>这种含嵌套的标签就不行了