首页 > 技术文章 > 正则表达式

zxfei 2019-12-15 16:49 原文

#正则表示次数
"""
*匹配前一个字符0次或无限次
+匹配前一个字符1次或无限次
?匹配前一个字符0次或1次
{n}匹配前一个字符n次
{m,n}匹配前一个字符m-n次
"""

"""
[abcd]abcd中娶一个,第一个字符在abcd之间
[^abcd]第一个字符不是abcd
[]代表一个字符
正则切割\\s+代表空格出现一次或多次
"""

"""
.匹配除了\n之外的所有字符,忽略异常情况
\d匹配所有数字0-9,\D匹配所有非数字
\s匹配所有空白字符,包括\t、\n、\r;\S匹配所有非空白字符,除空格\r、\n、\t之外的
\w匹配所有单词字符,包括大小写字母和数字;\W匹配所有非单词字符,除大小写字母数字以外
"""

#正则默认是贪婪模式,虽然是两个括号,但是贪婪模式会解释和前面的一起

"""
常见的正则表达:
# QQ 1648568957 ^[1-9](\d{4,10})$
# mobile 13895623541 ^1[34578](\d{9})$
# phone 010-78852436 ^0[1-9](\d{1,2})-[1-9](\d{6,7})$
# birthday 1995-02-28 ^((18\d{2})|(19\d{2})|(20[01]\d))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))$
# email xiaofei@cugb.edu.cn ^(\w(.|_|\w)+)@(\w+.{1,3}\w+)$

# ip 202.204.192.85 ^(\d{1,3}.(\d{1,3}.(\d{1,3}.(\d{1,3})$
ip地址每一段不得超过255,一共分为四段,分五个部分描述
0-9、10-99、100-199、200-249、250-255
所以完整的ip地址为:
^(\d|[1-9]\d|1(\d{2})|2[0-4]\d|25[0-5]).(\d|[1-9]\d|1(\d{2})|2[0-4]\d|25[0-5]).(\d|[1-9]\d|1(\d{2})|2[0-4]\d|25[0-5]).(\d|[1-9]\d|1(\d{2})|2[0-4]\d|25[0-5]).$
^((\d|[1-9]\d|1(\d{2})|2[0-4]\d|25[0-5]).){3}(\d|[1-9]\d|1(\d{2})|2[0-4]\d|25[0-5])$
"""

推荐阅读