正则表达式的完全匹配和部分匹配

						正则表达式的完全匹配和部分匹配

1.完全匹配:通常用来验证某个字符串是否符合某种规则
2.部分匹配:找出字符串中是否存在某个字符串


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

public class test02 {
    public static void main(String[] args) {
       String rex="[0-9]{16}";//匹配16个数字组成的字符串
       String s="dad121345446464645464ada";
        Pattern pattern = Pattern.compile(rex);
        Matcher matcher = pattern.matcher(s);
        //完全匹配
        System.out.println(matcher.matches());//显然这个字符串不符合输出false
        
        //部分匹配,检查字符串中是否存在16个数字组成的字符串
        if(matcher.find()){
            System.out.println(matcher.group(0));//输出第一个16个数字的字符串
        }
    }
}

汉字:1{0,}$
英文和数字:2+$ 或 3{4,40}$
长度为3-20的所有字符:^.{3,20}$
由26个英文字母组成的字符串:4+$
由26个大写英文字母组成的字符串:5+$
由26个小写英文字母组成的字符串:6+$
由数字和26个英文字母组成的字符串:7+$
由数字、26个英文字母或者下划线组成的字符串:^\w+$ 或 ^\w{3,20}$
数字:8$
n位的数字:^\d{n}$
至少n位的数字:^\d{n,}$
m-n位的数字:^\d{m,n}$
零和非零开头的数字:^(0|[1-9][0-9]
)$
非零开头的最多带两位小数的数字:^([1-9][0-9])+(.[0-9]{1,2})?$
带1-2位小数的正数或负数:^(-)?\d+(.\d{1,2})?$
正数、负数、和小数:^(-|+)?\d+(.\d+)?$
有两位小数的正实数:9+(.[0-9]{2})?$
有1~3位小数的正实数:10+(.[0-9]{1,3})?$
非零的正整数:11\d
$ 或 ^([1-9][0-9]){1,3}$ 或 ^+?[1-9][0-9]$
非零的负整数:^-[1-9][]0-9"$ 或 ^-[1-9]\d$
非负整数:^\d+$ 或 12\d*|0$

更多资料:https://www.bilibili.com/video/BV1Eq4y1E79W?p=7


  1. \u4e00-\u9fa5 ↩︎

  2. A-Za-z0-9 ↩︎

  3. A-Za-z0-9 ↩︎

  4. A-Za-z ↩︎

  5. A-Z ↩︎

  6. a-z ↩︎

  7. A-Za-z0-9 ↩︎

  8. 0-9 ↩︎

  9. 0-9 ↩︎

  10. 0-9 ↩︎

  11. 1-9 ↩︎

  12. 1-9 ↩︎

你可能感兴趣的:(笔记,正则表达式)