正则表达式¶
\\d
¶
数字
*
+
?
¶
表示一个或N个字符重复出现的次数。分别表示没有或更多,一次或更多,没有或一次。
{}
¶
表示一个重复的具体范围,个数。
ab{4}:表示一个字符串有一个a跟着4个b ("abbbb")。
ab{1,}:表示一个字符串有一个a跟着至少一个b("ab","abb","abbb",...)
ab{3,4}:表示一个字符串有一个a跟着3到4个b("abbb","abbbb")
?
和{0,1}
都表示没有或者一个
+
和{1,}
都表示一个或更多
[]
¶
表示括号内的众多字符中,选择1-N个括号内的符号语法的字符作为结果
[ab]:表示字符串有一个a或b
[a-d]:表示一个字符串包含小写的a到d中的一个,相当于a或b或c或d
[0-9]:表示有一个数字
(?: ... )?
¶
...
整个是可选的,允许为空。
练习¶
限制两位小数,小数点前面最多输入9位,整个字符串可为空。
^(?:[0-9]{1,9}(\\.[0-9]{0,2})?)?$
¥开头,后面数字最多有一个小数点:
^¥[0-9]+([.]{0,1}[0-9]*){0,1}$
保留5位小数:
^[0-9]+(\\.[0-9]{0,5})?$
只有一个小数点:
^[0-9]+([.]{0,1}[0-9]*){0,1}$
^(1|0)\\d{11}$|^\\d{6}[1-9]\\d{2}0$
1或者0
+11位数字
。或者6位数字
+1位1到9之间的数字
+2位数字
+0
。4位及以下的数字字母组合:
^[a-zA-Z0-9]{1,4}$
,它匹配的是由1到4个字母或数字组成的字符串。^
表示字符串的开始,$
表示字符串的结束,[a-zA-Z0-9]
表示一个字母或数字,{1,4}
表示前面的元素可以出现1到4次。
小括号()
¶
提高优先级