ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java正则表达式语法及简单示例

2021-11-19 19:32:45  阅读:127  来源: 互联网

标签:regex Java String 示例 正则表达式 Pattern str 字符串 匹配


import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class TestMatcher {
    public static void main(String[] args) {
        //正则表达式对字符串的常见操作:字符串的匹配、切割、替换、获取。

        //字符串的匹配:matches()
        /*常用写法*/
//        1. boolean b = Pattern.matches("正则表达式", "匹配内容");
        String str = "13111225544";
        String regexp = "\\d{11}$";
        boolean b = Pattern.matches(regexp, str);
        System.out.println("正则匹配结果="+b);

        /*标准写法*/
//        2.Pattern p = Pattern.compile("正则表达式");  Matcher m = p.matcher("匹配内容");
//        boolean b = m.matches();

        Pattern p = Pattern.compile(regexp);
        Matcher m = p.matcher(str);
        boolean b2 = m.matches();
        System.out.println("正则匹配结果="+b2);

        /*语句匹配写法*/
//        3.if("aaab".matches(/^a*b$/)) {};
        System.out.println("正则匹配结果="+(str.matches(regexp)));


//        字符串切割:split()
        //DEMO
//        String str = "需要切割的字符串";
        //描述切割规则
//        String regex = "正则表达式";
        //切割后的字符串仍是字符串:
//        String sstr1 = str.split(regex);
        //切割后的字符串放在数组中:
//        String[] sstr2 = str.split(regex);

        String s = "哈哈##呵呵###哦哦#";
        String regex = "#+";
        String[] sstr1 = s.split(regex);
        for(String string:sstr1){
            System.out.print(string);
        }

//        字符串替换:replaceAll()
        //DEMO
//        String str = "需要替换的字符串";
        //匹配规则
//        String regex = "正则表达式";
//        String Str = str.replaceAll(regex, "替换内容");

        String str2 = "哈喽##你好###大聪明";
        //匹配规则
        String regex2 = "(.)\\1+";  //拓展:叠词切割 String regex = "(.)\\1+",这里用到了组的概念。
        //替换为:
        String newStr = str2.replaceAll(regex2, "、");
        //替换后结果:
        System.out.println(newStr);

//        字符串获取:group()
        //DEMO
        //获取字符串“Hi ! welcome to my blog haha”中为两个字母的单词.
        String s3 = "Hi ! welcome to my blog haha";
        //1、匹配子串
        String regex3 = "\\b[a-zA-Z]{2}\\b";
        //2、获取匹配器
        Pattern p3 = Pattern.compile(regex3);
        Matcher m3 = p3.matcher(s3);
        //3、使用匹配器的group()方法来获取:(find方法是判断是否具有匹配子串)、
        System.out.println("”"+s+"“中的两个字母的单词有:");
        while(m3.find()){
            System.out.println(m3.group());
        }

    }

}

 

标签:regex,Java,String,示例,正则表达式,Pattern,str,字符串,匹配
来源: https://www.cnblogs.com/oktokeep/p/15578820.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有