上篇文章我们详细的了解了正则表达式的语法,了解语法过后就是通过一遍遍的的练习来加深印象,下面来看看一些常见的正则表达式实例吧。
例1:
public class StringReg { public static void main(String[] args) { String[] msgs = { "Java has regular expressions in 1.4" , "regular expressions now expressing in Java" , "Java represses oracular expressions" }; for (String msg: msgs) { System.out.println(msg.replaceFirst("re\\w*", "哈哈:)")); System.out.println(Arrays.toString(msg.split(" "))); } } }
例2:
public class StartEnd { public static void main(String[] args) { // 创建一个Pattern对象,并用它建立一个Matcher对象 String regStr = "Java is very easy!"; System.out.println("目标字符串是:" + regStr); Matcher m = Pattern.compile("\\w+") .matcher(regStr); while (m.find()) { System.out.println(m.group() + "子串的起始位置:" + m.start() + ",其结束位置:" + m.end()); } } }
例3:
public class FindGroup { public static void main(String[] args) { // 使用字符串模拟从网络上得到的网页源码 String str = "我想求购一本《疯狂Java讲义》,尽快联系我13500006666" + "交朋友,电话号码是13611125565" + "出售二手电脑,联系方式15899903312"; // 创建一个Pattern对象,并用它建立一个Matcher对象 // 该正则表达式只抓取13X和15X段的手机号, // 实际要抓取哪些电话号码,只要修改正则表达式即可。 Matcher m = Pattern.compile("((13\\d)|(15\\d))\\d{8}") .matcher(str); // 将所有符合正则表达式的子串(电话号码)全部输出 while (m.find()) { System.out.println(m.group()); } } }
以上就是本篇文章的所有内容,刚学习java的小伙伴如果对java基础哪里不是很懂的话可以来我们网站学习一些前辈的经验。
推荐阅读: