Java基于正则表达式实现查找匹配的文本功能【经典实例】
程序员文章站
2024-03-02 08:44:16
本文实例讲述了java基于正则表达式实现查找匹配的文本功能。分享给大家供大家参考,具体如下:
rematch.java:
package rematch;
i...
本文实例讲述了java基于正则表达式实现查找匹配的文本功能。分享给大家供大家参考,具体如下:
rematch.java:
package rematch; import java.util.regex.matcher; import java.util.regex.pattern; /** * created by frank */ public class rematch { public static void main(string[] args) { string patt = "q[^u]\\d+\\."; pattern r = pattern.compile(patt); string line = "order qt300. now! qt400."; matcher m = r.matcher(line); while (m.find()) { // group(0)或group()将会返回整个匹配的字符串(完全匹配);group(i)则会返回与分组i匹配的字符 // 这个例子只有一个分组 system.out.println(patt + " matches \"" + m.group(0) + "\" in \"" + line + "\""); system.out.println("start:" + m.start() + " end:" + m.end()); /* 输出: q[^u]\d+\. matches "qt300." in "order qt300. now! qt400." start:6 end:12 q[^u]\d+\. matches "qt400." in "order qt300. now! qt400." start:18 end:24 */ } } }
运行结果如下图:
rematchtwofields.java:
package rematchtwofields; import java.util.regex.matcher; import java.util.regex.pattern; /** * created by frank */ public class rematchtwofields { public static void main(string[] args) { string inputline = "adams,john quincy"; pattern r = pattern.compile("(.*),(.*)"); matcher m = r.matcher(inputline); if (!m.matches()) { throw new illegalargumentexception("bad input"); } // 分组0得到的是整个原字符串 for (int i = 0; i < m.groupcount() + 1; i++) { system.out.println("分组" + i + ":" + m.group(i)); /* 输出: 分组0:adams,john quincy 分组1:adams 分组2:john quincy */ } } }
运行结果如下图:
ps:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
javascript正则表达式在线测试工具:
正则表达式在线生成工具:
希望本文所述对大家java程序设计有所帮助。
上一篇: 图解Java线程的生命周期