Java正则表达式的使用和基本语法

xiaoxiao2021-02-28  99

Java中的pattern 和Matcher 类 一 Pattern 类的方法介绍 1. Pattern 类用语 创建一个正则表达式或匹配模式,构造方法私有,不可直接创建 Pattern p = Pattern.compile("\\d+"); Pattern 的创建方法 2. Pattern 有一个 split(CharSequence input)方法,用于分隔字符串,并返回String[], String [] str =p.split ("我的QQ是:456456我的电话是:0532214我的邮箱是:aaa@aaa.com"); 结果是: str[0]="我的QQ是:" str[1]="我的电话是:" str[2]="我的邮箱是:aaa@aaa.com"  按数字分割 3. Pattern 中matches 字符串的全匹配,静态方法 Pattern.matches("\\d+", "2233"); 返回boolean值 二 Mather 类方法介绍 1. 构造方法私有,不能随意创建 Pattern p = Pattern. compile("\\d+"); 指定正则表达式匹配模版 Matcher m = p.matcher("22bb33"); 要匹配的字符串 boolean result = m.matches(); 匹配结果 上面代码等同于:Pattern.matches("\\d+","223"); 2. Matcher.lookingAt() 字符串的前部分匹配成功 Matcher.find() 字符串中有符合的部分 3. 在find,matches,lookingAt操作之后 m.start(); 返回匹配到的部分的起始下标 m.end() 返回匹配到的部分的末尾下标 m.group() 返回匹配到部分的字符串 这三个函数都可以传入参数,返回匹配到的第几组 groupCount 返回匹配的组的个数 三. 正则表达式的语法 1.非打印字符 \cxx必须为A-Z或者a-z之间 表示Control-X之间的控制符\f换页符\n换行符\r回车符\s空白符\S非空白符\t制表符\v垂直制表符 2.元字符 \d一个数字字符\D一个非数字字符\w包含下划线的字母或数字\W除字母或数字之外的任何字符\b单词与单词之间的空格  ,例如er\b 匹配 "never"后的"er", 不能匹配“verb”\B没有单词之间的空格,例如 er\B 匹配verb中的er,不能匹配 neverx|y匹配x或y[xyz]匹配xyz中的任意一个字符[^xyz]匹配除开xyz之外的任意字符^字符串开始位置,在中括号中指非$字符串结束位置*匹配前表达式0或多次,  zo* 可以匹配z,zo,zoo+匹配前表达式1或多次?匹配前表达式0或1次{n}匹配前表达式n次{n,}匹配前表达式至少n次{n,m}匹配前表达式至少n次,至多m次
转载请注明原文地址: https://www.6miu.com/read-70189.html

最新回复(0)