【Java】正则表达式

2021-12-06 13:35:12 浏览数 (1)

参考文档

JavaSE Doc

调用

regex

代码语言:javascript复制
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方法也行

切割

匹配单个字符

代码语言:javascript复制
//        字符
//        匹配单个字符 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非空格

匹配多个字符

匹配子字符串 find从左向右

注意()形成组,. 而.不能直接写

类型比较 贪婪 勉强 占有

逻辑或

必须换()

边界运算符

注意:单词边界是空格

电话号

匹配城市

邮箱

端口号

端口强校验(范围[1,65535])

小于范围 校验不通过 测试成功

等于范围 校验通过 测试成功

大于范围 校验通过 测试成功

代码语言:javascript复制
"^([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]{1}|6553[0-5])$"

0 人点赞