java正则表达式用法,正则表达式的使用解析

TheDisguiser 2020-08-16 08:51:00 java常见问答 6425

上篇文章我们详细的了解了正则表达式的语法,了解语法过后就是通过一遍遍的的练习来加深印象,下面来看看一些常见的正则表达式实例吧。

例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基础哪里不是很懂的话可以来我们网站学习一些前辈的经验。

推荐阅读:

java正则表达式替换,正则表达式是什么?

java clob转string详解

java中filter如何使用?filter过滤器用法