在Java开发中,经常需要从文本中提取特定格式的信息。正则表达式为此提供了一种高效的解决方案。本文将演示如何使用Java正则表达式从文本中提取目标内容,并附带示例代码。
假设我们需要从html代码中提取所有以”www.”开头,以”.com”或”.cn”结尾的网址。 以下示例文本将用于演示:
www.baidu.comwww.qq.comwww.aaa.cnwww.eee.cn
立即学习“Java免费学习笔记(深入)”;
我们可以使用正则表达式www.w+.(com|cn)来匹配这些网址。 表达式含义如下:
- www.: 匹配字面量”www.”。
- w+: 匹配一个或多个字母数字字符(包括下划线)。
- .: 匹配字面量”.”。
- (com|cn): 匹配”.com”或”.cn”。
以下Java代码演示了如何使用该正则表达式:
String html = "<a>www.baidu.com</a><a>www.qq.com</a><a>www.aaa.cn</a>www.eee.cn"; String reg = "www.w+.(com|cn)"; Pattern pattern = Pattern.compile(reg, Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(html); while (matcher.find()) { System.out.println(matcher.group()); }
这段代码首先定义包含目标网址的字符串html和正则表达式reg。 Pattern.compile()编译正则表达式,matcher()创建匹配器对象。 循环调用matcher.find()查找所有匹配项,matcher.group()获取匹配的字符串并打印输出。
运行代码,输出结果为:
www.baidu.com www.qq.com www.aaa.cn www.eee.cn
通过修改正则表达式,可以灵活地匹配各种文本模式,满足不同的数据提取需求。 掌握Java正则表达式,将极大提升文本处理效率。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END