ToB企服应用市场:ToB评测及商务社交产业平台
标题:
正则表达式
[打印本页]
作者:
玛卡巴卡的卡巴卡玛
时间:
2022-8-20 10:31
标题:
正则表达式
正则表达式
正则表达式,又称规则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。通常被用来检索、替换那些符合某个模式(规则)的文本。
1、正则表达式构造摘要
(1)字符类
[abc]:a、b 或 c(简单类)
[^abc]:任何字符,除了 a、b 或 c(否定)
[a-zA-Z]:a 到 z 或 A 到 Z,两头的字母包括在内(范围)
(2)预定义字符类
.:任何字符(与
行结束符
可能匹配也可能不匹配)
\d:数字:[0-9]
\D:非数字: [^0-9]
\s:空白字符:[ \t\n\x0B\f\r]
\S:非空白字符:[^\s]
\w:单词字符:[a-zA-Z_0-9]
\W:非单词字符:[^\w]
(3)POSIX 字符类(仅 US-ASCII)
\p{Lower}小写字母字符:[a-z]
\p{Upper}大写字母字符:[A-Z]
\p{ASCII}所有 ASCII:[\x00-\x7F]
\p{Alpha}字母字符:[\p{Lower}\p{Upper}]
\p{Digit} 十进制数字:[0-9]
\p{Alnum}字母数字字符:[\p{Alpha}\p{Digit}]
\p{Punct} 标点符号:!"#$%&'()*+,-./:;?@[]^_`{|}~
\p{Blank} 空格或制表符:[ \t]
(4)边界匹配器
^:行的开头
$:行的结尾
(5)Greedy 数量词
X
?:
X
,一次或一次也没有
X
*:
X
,零次或多次
X
+:
X
,一次或多次
X
{
n
}:
X
,恰好
n
次
X
{
n
,}:
X
,至少
n
次
X
{
n
,
m
}:
X
,至少
n
次,但是不超过
m
次
(6)Logical 运算符
XY
:
X
后跟
Y
X
|
Y
:
X
或
Y
(
X
):X,作为捕获组
(7)特殊构造(非捕获)
(?:X) X,作为非捕获组
(?=X) X,通过零宽度的正 lookahead
(?!X) X,通过零宽度的负 lookahead
(?(?>X) X,作为独立的非捕获组
2、常见的正则表达式示例
验证用户名和密码,要求第一个字必须为字母,一共6~16位字母数字下划线组成:(^[a-zA-Z]\w{5,15}$)
验证电话号码:xxx/xxxx-xxxxxxx/xxxxxxxx:(^(\d{3,4}-)\d{7,8}$)
验证手机号码:( ^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$ )
验证身份证号: (^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)
验证Email地址:(^\w+([-+.]\w+)
@\w+([-.]\w+)
.\w+([-.]\w+)*$)
只能输入由数字和26个英文字母组成的字符串:(^[A-Za-z0-9]+$)
整数或者小数:(^[0-9]+(.[0-9]+){0,1}$)
中文字符的正则表达式:([\u4e00-\u9fa5])
金额校验(非零开头的最多带两位小数的数字):(^([1-9][0-9]*)+(.[0-9]{1,2})?$)
IPV4地址:(((\d{1,2})|(1\d{1,2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{1,2})|(2[0-4]\d)|(25[0-5]))
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4