
正则表达式
正则表达式(regular expression)
今天java可刚学习了正则表达式,看着这一堆跟火星文一样的东西无从下手,老师让我们写个博客写写自己的理解(我看都看不懂怎么理解),然后就只能照着java课本和网上大佬的博客瞎写点东西了。
作用:用来描述匹配一个字符串集合的模式,可以很方便的匹配,替换,拆分字符串,在表单验证、Url映射等处都会经常用到。
正则表达式语法
正则表达式有字面值是字符和特殊符号组成,
| 代码 | 匹配 | 示例 |
|---|
x指定符号xjava匹配java
.任意单个字符,除了换行符外java匹配j…a
(ab|cd)ab或cdten匹配t(en|im)
[abc]a,b或者cjava匹配ja[uvwx]a
[^abc]除了a,b或者c外的任意字符java匹配la[^ars]a
[a-z]a到zjava匹配[a-m]av[a-d]
[^a-z]除了a到z外的任意字符java匹配jav[^b-d]
[a-e[m-p]]a到e或m到pjava匹配[a-g[i-m]]av[a-d]
d一位数字,等同于[0-9]java2匹配java[d]
D一位非数字$java匹配[D][D]ava
w单词字符Java1匹配[w]ava[d]
W非单词字符$java匹配[W][ w]ava
s空白字符java 2匹配javas 2
S飞空白字符java匹配[S]ava
p*0或者多次出现模式paaaa匹配a*,abab匹配(ab)*
p+1次或者多次出现模式pa匹配a+b*,able匹配(ab)+.*
p?0或者1次出现模式pjava匹配j?java
p{n}正好出现n次模式pjava匹配ja{1}.*,java不匹配.{2}
p{n,}至少出现n次模式paaaa匹配a{1,},a不匹配a{2,}
p{n,m}n到m(不包含)次出现模式paaaa匹配a{1,9},abb不匹配a{2,9}bb
p{P}一个标点字符!"#$%&’()*±,;:@^_=`?~j?a匹配jp{P}a
注意:单词宇符是任何的字母,数宇或者下划线字符。因此w等同于 [a-z[A-Z][0-9]_]或者简化为 [a-Za-z0-9_]。W等同于[^a-Za-z0-9]。
注意:表H-1中后面六个条目*、+、?、{n}、{n, }以及{n,m}称为量词符 (quantifier),用于确定量词符前面的模式会重复多少次。例如,A*匹配0或者多个A,A+匹配1或者多个A,A?匹配0或者1个A。
A{3} 精确匹配 AAA,A{3, },匹配至少3个A, A{3,6}匹配3到6之间个A。*等同于 {0, },+等同于{1, },?芋同于{0,1}。
警告:不要在重复量词符中使用空白。例如,A{3,6}不能写成逗号后面有一个空白符的
A{3, 6}。
注意:可以使用括号来将模式进行分组。例如,(ab){3}匹配ababab,但是ab{3}匹配
abbb.
评论列表(0条)