正则表达式
正则表达式(regex)是使用字符串来描述、匹配一系列符合某个句法规则的字符串
用途:匹配、切割、替换、获取字符串
正则表达式由一些普通字符和一些元字符组成。
常见元字符
^ 匹配输入字符串的开始位置
$ 匹配输入字符串的结束位置
\d 匹配一个数字字符。等价于[0-9]
\D 匹配一个非数字字符。等价于[^0-9]
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \n\r\t\f]
\S 匹配任何非空白字符。等价于[^\n\r\t\f]
\w 匹配包括下划线的任何单个字符。等价于"[A-Za-z0-9]"
\W 匹配任何非单个字符。等价于“[^A-Za-z0-9
]”
. 匹配除“\r\n”之外的任何单个字符
{n} n是一个非负整数。匹配确定的n次
{n,} n是一个非负整数。至少匹配n次
{n,m} m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次

  • 匹配前面的子表达式零次或多次(大于等于0次)
  • ? 匹配前面的子表达式零次或一次
  • 匹配前面的子表达式一次或多次(大于等于1次)

“\”的理解
在Java中反斜线”\”有三种含义:

  1. 反斜线后面可以加特定字符,组成所谓的“转义字符”。eg: \n \t
  2. 用于取消元字符的意义,使元字符变为普通字符。eg: “\” 代表”\”。
  3. 用于组成正则表达式中的元字符。
    eg: “\d” 在正则表达式中代表“匹配一个数字字符”。
    Pattern类与Matcher类
    1. Pattern类与Matcher类都在java.util.regex包 中定义。
    2. Pattern类的对象代表正则表达式编译之后的对象;Matcher类主要用于执行验证。
    3. Pattern类的主要方法:
      public static Pattern compile(String regex);
      public Matcher matcher(CharSequence input)
      Matcher类的主要方法:
      public boolean matches();

String类对正则表达式的支持

1.public boolean matches(String regex)判断字符串是否与给定的正则表达式匹配。
2.public String replaceAll(String regex,String replacement) 字符串替换
3.public String[] split(String regex) 字符串拆分