23-初识正则表达式
一、最简单的正则表达式
表达式:hi
能匹配的字符串(举例):
hi him his this
如果只想要这个结果:hi
改成:\bhi\b 或 \b[Hh]i\b 或 \b(H|h)i\b
那么职匹配:hi
二、匹配数字串:
\d+
匹配结果:
1231312,12222,666666等等
三、“\b”和“\B”
“\b”匹配一个单词的边界
表达式:\bhi\b
能匹配:hi
“\B”匹配一个单词的非边界
表达式:\Bhi\B
能匹配:this
四、“\d”和“\D”
“\d”匹配一个数字字符
表达式:\d
能匹配:12345
“\D”匹配一个非数字字符
表达式:\D
能匹配:A a
五、“\w”和“\W”
“\w”匹配字母/数字/下划线
表达式:\w
能匹配:123abc_
“\W”匹配除字母/数字/下划线
表达式:\W
能匹配:@#$%
六、“^”和“$”
“^”代表字符串的开头
表达式:^hi
能匹配:hi him hidden
“$”代表字符串的结束
表达式:hi$
能匹配:hi chi ahi
表达式:^hi$
只能匹配:hi
七、“[]”
方括号“[]”匹配指定一堆字符中的一个。
表达式:^[a-z]at$
能匹配:aat cat zat
表达式:^[A-Za-z]at$
能匹配:Cat cat zat
表达式:^[aeiou]at$
能匹配:aat eat iat
八、“[^]”
方括号“[^]”不匹配这个集合中任何一个字符。
表达式:^[^xyz]at$
不能匹配:xat yat zat
九、重复符号“+”
“+”表示前一模式可以被重复1次或n次。
表达式:^go+gle$
能匹配:gogle google goooooogle
表达式:^g[aeiou]+gle$
能匹配:gagle gegle geagle geaeeaioueagle
十、重复符号“*”
“+”表示前一模式可以被重复0次或n次。
表达式:^go*gle$
能匹配:ggle google goooooogle
十一、符号“?”
“+”表示前一模式可以被匹配0次或1次。
表达式:^go?gle$
能匹配:ggle gogle
十二、重复符号“{x,y}”
“{x}”表示前一模式可以被重复x次。
表达式:^go{2}gle$
能匹配:google
“{x,y}”表示前一模式模式可以被重复x到y次。
表达式:^go{2,4}gle$
能匹配:google gooogle goooogle (仅3个)
“{x,}”表示前一字符模式可以被重复至少x次。
表达式:^go{2,}gle$
能匹配:google gooogle gooooooogle
十三、子表达式“()”
“()”可以指定一堆字符来匹配一个模式。
表达式:^(very)*large$
能匹配:large verylarge veryveryverylarge
十四、分支"|"
分支“|”用来指定几个规则只要匹配一个规则即成匹配。
表达式:^com$|^org$|^net$
能匹配:com org net
表达式:^abc.(com|org|net)$
能匹配:abc.com abc.org abc.net
十五、转义符号“\”
如果要匹配“[”“^”“+”“)”等等有特殊含义的字符,可以用“\”做转义。
表达式:^1\*\(2\+3\)=6$
能匹配:1*(2+3)=6
十六、其他:
"^[A-Za-z]+$" //由26个英文字母组成的字符串
"^[A-Z]+$" //由26个英文字母的大写组成的字符串
"^[a-z]+$" //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串
[\u4e00-\u9fa5] 汉字中的任意一个汉字
“^[a-zA-Z0-9]\w{5,17}$”表示什么呢?
“^(13[0-9]|14[5|7]|15[0-9])\d{8}$”表示什么呢?
最后送大家一个图片,希望大家越来越好!
同学们也可以买这样一个杯子帮助记忆哦:)加油!!!