【Java】正则表达式

文章目录

  • 参考文档
  • 调用
    • regex
    • String方法也行
  • 匹配单个字符
  • 匹配多个字符
  • 类型比较 贪婪 勉强 占有
  • 逻辑或
  • 边界运算符
  • 电话号
  • 匹配城市
  • 邮箱

参考文档

JavaSE Doc

调用

regex

package regex;

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

/**
 * @Author bennyrhys
 * @Date 2/7/21 2:24 PM
 */
public class Number {
     
    public static void main(String[] args) {
     
//        boolean number = isNumber("12a43");
//        System.out.println(number);



    }

    private static boolean isNumber(String str) {
     
        //1.把字符串类型的正则表达式,编译成一个正则模式
//        Pattern pattern = Pattern.compile("\\d+");
        //2.向上转型String->CharSequence
//        Matcher matcher = pattern.matcher(str);
        //3.使用这个正则模式去匹配字符串
//        boolean isMatches = matcher.matches();
        boolean isMatches = Pattern.matches("\\d+", str);
        return isMatches;
    }
}

String方法也行

【Java】正则表达式_第1张图片
【Java】正则表达式_第2张图片
切割
【Java】正则表达式_第3张图片

匹配单个字符

//        字符
//        匹配单个字符 x \n换行 \t制表 \r回车
//        boolean isMatches = Pattern.matches("a", "a");

//      字符组
//    匹配[abc]的中的一个
//    匹配除abc的任意[^abc]
//    匹配a-z小写[a-z] 大写[A-Z] 大写或小写[a-zA-Z]
//    小写a-d,m-p[a-d[m-p]] 等价 [a-dm-p]  如果表示并且 [a-z&&[def]]
//    直接在里面加[ad-z] [a-zA-Z_0-9]

//        预定义字符组
//        .任意字符
//        \d数字0-9 \D所以非0-9
//        \w匹配[0-9_a-zA-Z] \w取反
//        \s空格 \S非空格

匹配多个字符

【Java】正则表达式_第4张图片
匹配子字符串
find从左向右
在这里插入图片描述

【Java】正则表达式_第5张图片
注意()形成组,\. 而.不能直接写
【Java】正则表达式_第6张图片

类型比较 贪婪 勉强 占有

【Java】正则表达式_第7张图片
【Java】正则表达式_第8张图片【Java】正则表达式_第9张图片

【Java】正则表达式_第10张图片

【Java】正则表达式_第11张图片

逻辑或

在这里插入图片描述
必须换()
在这里插入图片描述

边界运算符

【Java】正则表达式_第12张图片注意:单词边界是空格
【Java】正则表达式_第13张图片

电话号

在这里插入图片描述

匹配城市

在这里插入图片描述

邮箱

【Java】正则表达式_第14张图片

你可能感兴趣的:(#,Java进阶)