
Java正则表达式高效提取文本信息
Java编程中,经常需要从文本中提取符合特定模式的内容。正则表达式为此提供了高效的解决方案。本文以一个案例演示如何利用Java正则表达式提取特定信息。
问题: 从包含多个网址的文本中,仅提取以“.com”或“.cn”结尾的网址。
解决方案: 使用正则表达式www.S*?(com|cn)匹配以“www.”开头,并以“.com”或“.cn”结尾的字符串。www.匹配“www.”,S*?匹配任意非空白字符(非贪婪模式),(com|cn)匹配“.com”或“.cn”。Pattern.CASE_INSENSITIVE标志确保匹配不区分大小写。
立即学习“Java免费学习笔记(深入)”;
Java代码示例:
String html = "<a>www.baidu.com</a><a>www.qq.com</a><a>www.aaa.cn</a>www.eee.cn";
String reg = "www\.\S*?(com|cn)";
Pattern pattern = Pattern.compile(reg, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(html);
while (matcher.find()) {
System.out.println(matcher.group());
}
输出结果:
<code>www.baidu.com www.qq.com www.aaa.cn www.eee.cn</code>
此代码演示了如何编译正则表达式,使用Matcher类进行匹配,并循环输出匹配结果。 通过调整正则表达式,可以灵活地提取不同模式的文本信息,实现高效的文本数据处理。










