Regex
regex正则表达式语法
正则表达式规则
[]
: 字符集,可存放多个字符
{}
: 计数,表示字符/字符集次数
()
: 子模式,改变优先级,对一块区域整体性操作
^
:起始字符;若在[]中则表示否定
$
:终止字符
\|
:或
字符集
.
: 任意一个单字符
\d
: 一个十进制数字
\l
: 一个小写字母
\s
: 一个空白符(空格、制表符等)
\u
: 一个大写字母
\w
: 一个字母(a-zA-Z)或数字(0~9)或下划线(_)
\D
: 除了\d
之外的其他字符
\L
: 除了\l
之外的其他字符
\S
: 除了\s
之外的其他字符
\U
: 除了\u
之外的其他字符
\W
: 除了\w
之外的其他字符
[abc]
表示字符串包含"a"、"b"、"c"任意一项
[a-z]
表示字符串中包含a~z中的任意一项
[a-zA-Z0-9]
表示字符串中包含包含有大小写不限的字母和数字
计数(重复)
{n}
字符/字符集严格重复n次
{n,}
字符/字符集至少重复n次
{n,m}
字符/字符集至少重复n次,最多重复m次
*:{0,}
不存在或存在任意次数均满足条件
+:{1,}
存在且只撒后出现1次满足条件
?:{0,1}
不存在或仅存在1次满足条件
子模式
为了指定模式中的子模式,用括号将其括起来
(\d*:)?(\d+)
:它表示字符串前半部分可以为空,若非空,则是任意长度的数字后接一个冒号,后半部分是一个或多个数字的序列。
常用的正则表达式
整数:
"^[-|+]?[0-9]+$"
非负整数:
"^\\d+$"
浮点数
"^(-?\\d+)(\\.\\d+)?$"
由26个英文字母组成的字符串
"^[A-Za-z]+$"
年-月-日
"^(d{2}|d{4})-((0([1-9]{1}))|(1[0-2]))-(([0-2]([1-9]{1}))|(3[0|1]))$"