正则表达式

Posted on 2023-06-20 22:31  liuxin6de1b  阅读(7)  评论(0编辑  收藏  举报

1.正则定义
定义:文本模式;字母,数字或者是特殊字符组成的 2.正则应用场景
一般应用于注册等功能中的校验等需求 3.正则用途
检索或者替换符合某些规则的文本
2.正则api
Java.Lang.String
Java.util.regex.Pattern

案例一

“...”可以匹配任意字符,...也可以代表符号数字

String a=“abc”

sout(a.matches(“...”)) 结果是true   

案例二  

replaceAll    通过正则匹配字符串 

String a=“1” sout(a.matches("\\d"))\\d代表数字,这里意思就是字符串中的1能不能匹配数字,结果当然是true; \\D是非数字(非数字包括字母,符号,空白)

String a=“aaa12bbb” sout(a.replaceAll("\\d","!")) 意思就是把a字符串中的所有数字改成!
sout(a.replaceAll("\\D","9")) 意思就是把所有的非数字改成9。

 案例三

Pattern p=Pattern.compile("[a-z]{3}")
利用pattern中的compile方法制定一个正则表达式到模式中[a-z]{3} 意思是从a到z出现三次
p就是这个正则达式 Matcher a= p.matcher("abc")
用p和字符串abc匹配结果是a sout(a.matches)输出a的匹配结果

Pattern p=Pattern.compile("[a-z]{3,}")
利用pattern中的compile方法制定一个正则表达式到模式中[a-z]{3} 意思是从a到z出现三次或者三次以上
p就是这个正则达式 Matcher a= p.matcher("abc")
用p和字符串abc匹配结果是a sout(a.matches)输出a的匹配结果              

Pattern p=Pattern.compile("[a-z]{3,7}")
利用pattern中的compile方法制定一个正则表达式到模式中[a-z]{3} 意思是从a到z出现三次到七次之间(包含3次和七次)
p就是这个正则达式 Matcher a= p.matcher("abc")
用p和字符串abc匹配结果是a sout(a.matches)输出a的匹配结果

[a-z]{3}等价于[a-z] [a-z] [a-z]

案例四:匹配符+*?

可以先定义一个方法:public void p(Object o) {sout(o)};

p(“aa”.matches("aa"))true
p(“aa“.matches("a"))flase

p(“a”.matches("aa"))flase
p(“a”.matches("a*"))true
p(“ ”.matches("a*"))true    a*代表a出现的次数是0次或者多次
p(“a”.matches("a+"))true
p(“ ”.matches("a+"))false   a*代表a出现的次数是1次或者多次 p(“a”.matches("a?"))true
p(“aa”.matches("a?"))false   a?代表a出现的次数是1次或者一次也没有
案例五:空白   \\s \\S \\w 

p("  ".matches"\\s,{2}")   字符串能不能和"\\s,{2}"匹配;"\\s,{2}"意思是有两个空白

p("  ".matches"\\S,{2}")   字符串能不能和"\\S,{2}"匹配;"\\S,{2}"意思是有两个非空白

\\w代表从a到b,1到9,_,都可以匹配

 

Copyright © 2024 liuxin6de1b
Powered by .NET 9.0 on Kubernetes