正则表达式提取标签内容

J2EE 码拜 8年前 (2016-09-10) 1863次浏览
1098<Rev_body><mobileid>1</mobileid><Sentiment>neg</Sentiment><Rev_text>1.15的能卖到近3000的价格,再好看估计也没多少帅哥追了;2.可惜没有USB HUB 接口。</Rev_text></Rev_body>
1099<Rev_body><mobileid>2</mobileid><Sentiment>pos</Sentiment><Rev_text>不错不错,看电影效果很好的,踢实况用宽屏就是爽啊,对比度也可以,而且还3年保修</Rev_text></Rev_body>
1010<Rev_body><mobileid>3</mobileid><Sentiment>neg</Sentiment><Rev_text>今天连开了三台机子,结果两台有亮点,一台有暗点。虽说应该都在质量要求之内,但还是很郁闷,最后放弃买了AOC的195fw,后者好歹有无亮点保证。</Rev_text></Rev_body>

假如想将上面的内容提取出来写成下面这样的格式,要怎么提取?(java语言,正则表达式等方法)
1  neg  1.15的能卖到近3000的价格,再好看估计也没多少帅哥追了;2.可惜没有USB HUB 接口。
2  pos   不错不错,看电影效果很好的,踢实况用宽屏就是爽啊,对比度也可以,而且还3年保修。
3  neg  今天连开了三台机子,结果两台有亮点,一台有暗点。虽说应该都在质量要求之内,但还是很郁闷,最后放弃买了AOC的195fw,后者好歹有无亮点保证。

解决方案

40

Pattern pat = Pattern.compile("<mobileid[^>]*>(.*?)</mobileid><Sentiment[^>]*>(.*?)</Sentiment><Rev_text[^>]*>(.*?)</Rev_text>");
        Matcher mat = pat.matcher(input);
        while(mat.find()){
            System.out.println(mat.group(1));
            System.out.println(mat.group(2));
            System.out.println(mat.group(3));
        }

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明正则表达式提取标签内容
喜欢 (0)
[1034331897@qq.com]
分享 (0)