20200729----正则规则基础知识

# 正则规则(元字符,量词)
# 第一条规则 : 本身是哪一个字符,就匹配字符串中的哪一个字符
# 第二条规则 : 字符组[字符1字符2],一个字符组就代表匹配一个字符,只要这个字符出现在字符组里,那么就说明这个字符能匹配上
# 字符组中还可以使用范围
# 所有的范围都必须遵循ascii码从下到大来指定
# [0-9] [a-z] [A-Z]
# [0-9] \d 表示所有的数字
# d --> d
# \d --> \是转义符 转义符转义了d,让d能够匹配所有0-9之间的数
# \w 表示 大小写字母 数字 下划线
# \s 表示空白 空格 换行符 制表符
# \t 匹配制表符
# \n 匹配换行符
# \D 表示所有的非数字
# \W 表示除 数字字母下划线之外的所有字符
# \S 表示非空白
# . 表示除了换行符之外的任意内容
# [] 字符组 :只要在中括号内的所有字符都是符合规则的字符
# [^ ]非字符组 :只要在中括号内的所有字符都是不符合规则的字符
# [] [^]
# ^ 表示一个字符的开始
# $ 表示一个字符的结束
# | 表示或,注意,如果两个规则有重叠部分,总是长的在前面,短的在后面
# () 表示分组,给一部分正则规定为一组,|这个符号的作用域就可以缩小了
# [\d] [0-9] \d 没有区别 都是要匹配一位数字
# [\d\D] [\W\w] [\S\s] 匹配所有一切字符

# 元字符
# \d \w \s \t(table) \n(next)
# \D \W \S
# .
# [] [^]
# ^ $
# | ()

# 量词
# {n} 表示只能出现n次
# {n,} 表示至少出现n次
# {n,m}表示至少出现n次,至多出现m次

# ? 表示匹配0次或1次 表示可有可无 但是有只能有一个 比如小数点
# + 表示匹配1次或多次
# * 表示匹配0次或多次 表示可有可无 但是有可以有多个 比如小数点后n位

# 匹配0次

# 匹配任意的2位整数
# 匹配任意的保留两位小数的数字
# 匹配一个整数或者小数 \d+\.\d+|\d+ \d+\.?\d* \d+(\.\d+)?

# 默认贪婪匹配,总是会在符合量词条件的范围内尽量多匹配
# \d{7,12}
# <html>adljdkjsljdlj</html>
# <.+>
# 非贪婪匹配 :惰性匹配
# 总是匹配符合条件范围内尽量小的字符串

# 元字符 量词 ? x
# 表示按照元字符规则在量词范围内匹配,一旦遇到x就停止

# .*?x 匹配任意的内容任意多次遇到x就立即停止

# 元字符
# 元字符量词
# 元字符量词?

# \d+?x .*?x 爬虫


# 身份证号
# 15位 全数字 首位不为0
# 18位 前17位全数字 首位不为0 最后一位可能是x和数字
# [1-9](\d{14}|\d{16}(\d|x))
# [1-9](\d{16}[\dx]|\d{14})
# [1-9]\d{14}(\d{2}[\dx])?

猜你喜欢

转载自www.cnblogs.com/limin1027/p/13398670.html