JAVA里合并多个不相关正则表达式在一起的代码例子
2009-07-16 15:55
639 查看
事情的来源是,我要得到某个字符串里满足条件的一部分,但这个条件有多个可能性,比如
<div class=/"question_con/">(.+?)</div>
之间的我需要
<div class=/"pump_ask_con/">(.+?)</div>
之间的我也需要
<title>(.*?) </title>
这个之间的我也需要
当然其它的可以是任何符合我要求的正则表达式,我的需求就是不想用多个正则分别匹配,然后组装,而是希望在一个正则里面实现。
当然这几个正则之间肯定是或的关系,只要一段字符串满足任何一个正则,都可以。 经过【火龙果】的指导,我们终于实现了。
看一个例子吧,这个是真实的例子,可以运行的。
技术重点有2个
1 每个正则(?:)包起来,代表这个是非捕获组
2 不同正则之间用|分割(也就是或者的意思)
其它的大家自己看代码吧!
<div class=/"question_con/">(.+?)</div>
之间的我需要
<div class=/"pump_ask_con/">(.+?)</div>
之间的我也需要
<title>(.*?) </title>
这个之间的我也需要
当然其它的可以是任何符合我要求的正则表达式,我的需求就是不想用多个正则分别匹配,然后组装,而是希望在一个正则里面实现。
当然这几个正则之间肯定是或的关系,只要一段字符串满足任何一个正则,都可以。 经过【火龙果】的指导,我们终于实现了。
看一个例子吧,这个是真实的例子,可以运行的。
import java.util.regex.Matcher; import java.util.regex.Pattern; import com.laozizhu.tools.PageService; /** * JAVA里合并多个不相关正则表达式在一起的代码例子 * * @author 老紫竹的家(laozizhu.com) * */ public class Test { private static Pattern pContentSOSO = Pattern .compile( "(?:<title>(.*?) - 搜搜问问</title>)|(?:<div class=/"question_con/">(.+?)</div>)|(?:<div class=/"pump_ask_con/">(.+?)</div>)|(?:<div class=/"answer_con/">(.+?)</div>)|(?:<div class=/"pump_con/">(.+?)</div>)", Pattern.DOTALL); public static void main(String[] args) { String str = PageService.getPage("http://wenwen.soso.com/z/q143466873.htm"); Matcher m = pContentSOSO.matcher(str); int count = m.groupCount(); while (m.find()) { for (int i = 1; i <= count; i++) { if (m.start(i) > -1) { System.out.println(m.group(i).trim()); } } } } }
技术重点有2个
1 每个正则(?:)包起来,代表这个是非捕获组
2 不同正则之间用|分割(也就是或者的意思)
其它的大家自己看代码吧!
相关文章推荐
- 优酷电视剧爬虫代码实现一:下载解析视频网站页面(4)补充: Java正则表达式Matcher.group(int group)相关类解析
- 【Java】java 正则表达式去掉文本编辑器相关标签代码
- java中正则表达式例子
- java正则表达式语法详解及其使用代码实例
- (转)java正则表达式相关知识
- JAVA正则表达式(代码收藏)
- java 通过正则表达式获取匹配字符串的例子
- java中提供了对正则表达式的支持。 有的时候,恰当地使用正则,可以让我们的工作事半功倍! 如下代码用来检验一个四则运算式中数据项的数目,请填写划线部分缺少的代码。 注意:只填写缺少代码,不要
- Java 正则表达式学习总结和一些小例子
- JAVA代码,正则表达式验证
- Java 正则表达式相关资料
- java正则表达式语法详解及其使用代码实例
- 利用正则表达式统计某个某个文件夹下所有java文件的 空格行数、注释行数、和代码行数
- JAVA中Pattern和Matcher的用法 正则表达式相关
- 正则表达式学习与应用及JAVA中相关函数
- JAVA:正则表达式(代码说话)
- Thinking in java之正则表达式小例子
- Java 正则表达式小例子
- 提高你的Java代码质量吧:推荐在复杂字符串操作中使用正则表达式
- 提高你的Java代码质量吧:推荐在复杂字符串操作中使用正则表达式 .