1.正则表达式只和字符串相关
2.用中括号表示,在同一个位置上只能出现一个符合的字符
—— 字符组
3.按照ascii码来匹配的,只能从小到大。#[A-z] 这可以,但是不建议,因为中间还有一些别的字符
#第一大块——匹配一个字符
# . 匹配除换行符之外的所有字符 # \w 匹配所有字母数字下划线 word # \s 任意空白符 space # \d 数字 digit # \W 匹配非word # \S 匹配非space # \D 匹配非digit #任意两个大小写一起,就是全局 [\D\d]
# ^ 匹配字符串的开始 示例 ^[a-z] 以小写字母开始 # 出现在[]内,比如[^a-z],除了a-z之外的都匹配 # $ 匹配字符串的结尾 # ^[a-z]$ 只能有一个字符,也就是中间的字符组有几个,就匹配几个字符,形成闭合
# | 或 示例:a|b,且从左向右,能够匹配左边就不会匹配右边了,所有建议长的放左边 # \n换行 \t制表符 # \b匹配单词结尾
#第二大块——匹配多个字符
# (量词,必须在表达式后面,只能约束前一个字符组)
# * 重复0次或多次 # 贪婪匹配,示例:\d* # 则后面更多的数字都会匹配,直到写了非数字。没有也是重复了0次,匹配了1次 # + 重复1次或多次 # 示例: \d+ # 区别在于*多一个0,这个没有的话就是重复了0次,匹配了0次 # ? 重复0次或1次 # 示例: \d? # 如果两个数,就是匹配3次
# {n} 重复n次 # {n,} 重复n次或更多次 # {n,m} 重复n-m次