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()); }
输出结果:
www.baidu.com www.qq.com www.aaa.cn www.eee.cn
此代码演示了如何编译正则表达式,使用Matcher类进行匹配,并循环输出匹配结果。 通过调整正则表达式,可以灵活地提取不同模式的文本信息,实现高效的文本数据处理。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END