● 正则表达式定义了字符串模式
● 正则表达式可以用来搜索,编辑
● ^:以…开头
● $:以…结尾
● * :可以匹配多次 大于等于0
● +: 可以匹配多次 大于等于1次
● ?:可以匹配 0次或1次
● [a-z ]: a-z只匹配一次可以和其他的连用,[]表示一个范围,在这个范围的都能匹配。^在中括号内表示以…开头,在中括号内表示反义这个中括号
● [a-z ]{n}:n是非负整数,可以匹配n次
● {n,}:最少匹配n次
● {n,m}:n<=m 最少匹配n次,最多匹配m次
● ():分组
● |:x|y:表示匹配x或y但是容易引起歧义,最后加()分组
● . :匹配除、\r \n 之外的任意字符
● \d :匹配一个数字字符。等价于[0-9]
● \D :匹配一个非数字字符。等价于[^0-9]
● \s:匹配任何不可见的字符,包括空格,换行,制表符等
● \S:匹配任何可见字符
● \w:匹配包括下划线的任何单词字符。类似但不等价于“[A-Za-z0-9_]”,这里的"单词"字符使用Unicode字符集。
● \W:匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。
● 正则封装类
○ Pattern
■ 构造方法私有
■ Pattern p = Pattern.compile(regex);
■ p.split(“input”) ,根据正则把字符串分割
■ Pattern.matches(String regex,CharSequence input),根据正则全词匹配字符串
■ 获取Matcher对象
■ Matcher matcher = p.matcher(“42142dasd43v55bdef23vb67”);
○ Matcher
■ matchers():全词匹配
■ find():非全词匹配
● 配合group() 一起使用。前提是需要用()给正则分组
■ lookingAt():是否以该正则匹配到的开头
■ matchers()和find()迭代器差不多,会消耗字符
day21、正则表达式
最新推荐文章于 2024-09-04 19:23:40 发布