黑马程序员技术交流社区

标题: 求一个正则表达式 [打印本页]

作者: 左华清    时间: 2012-2-16 00:07
标题: 求一个正则表达式
本帖最后由 左华清 于 2012-2-18 20:40 编辑

<div>这是需要取的部分</div>
去掉html标签.
作者: 陈丹阳    时间: 2012-2-16 00:38
  1. public class Test2 {
  2.         public static void main(String[] args) {
  3.                 String s1 ="<div>这是需要取的部分</div>";
  4.                 String regex ="</?[a-zA-Z]+>";
  5.                 System.out.println(s1.replaceAll(regex, ""));
  6.         }
  7. }
复制代码
/?代表正斜杠 0次或一次
后面代表字母出现一次或多次

作者: 李杨    时间: 2012-2-16 01:14
本帖最后由 李杨 于 2012-2-16 01:25 编辑
陈丹阳 发表于 2012-2-16 00:38
/?代表正斜杠 0次或一次
后面代表字母出现一次或多次


String regex ="</?[\\w]+>";

来补充点细节,呵呵。。
由于HTML标签常规下会用数字来定义标号。如:<h1></h1>或者你的自定义标签。

一般几乎没人在标签里面加标点符号。所以一般情况下不用匹配符号了。
作者: 左华清    时间: 2012-2-18 20:36
两位给了很大的帮助,谢谢!
通过上面解答,再拓展了下,就是两个<>中间不能再有一个'>'

public class Test2 {
        public static void main(String[] args) {
                String s1 ="<div>这是需要取的部分</div>";
                String regex ="<(.[^>]*)>";
                System.out.println(s1.replaceAll(regex, ""));
        }
}

作者: 温昌寿    时间: 2012-2-19 18:16
如果,您是要做爬虫的项目抓取项目前特定的内容的话,我建议你用JSOUP来进行抓取,里面集成的对象选择器可以很方便的找到自己想要的内容




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2