字符匹配
两种匹配模式
横向模糊:正则可匹配的字符串的长度不是固定的,可以是多种情况的
练习: 匹配一个a,2到5个b,一个c
纵向模糊:具体到某一位字符时,有多种可能。
练习:匹配 "a1b"、"a2b"、"a3b"
字符组:(虽然叫组,但是只匹配一个字符)
范围表示法
表示:[123456abcdefGHIJKLM]
匹配“a”、“-”、“z”这三者中任意一个字符(三种表示方法)
排除:字符组第一位放脱字符表示求反:
练习:不能是"a"、"b"、"c"
简写:
数字和非数字?
\w 和 \W的含义?
\s 和 \S 的含义?
匹配字的边界? \b的作用是什么?
通配符代表什么? ./.* 代表什么意义?
匹配任意字符的四种方式?
量词: 重复
简写
至少出现m次。
出现m次
出现0次或者一次
至少出现一次
任意次
惰性匹配: 量词后面加个问号就能实现惰性匹配.
表示: 匹配2到5次都行,当2个就够的时候,就不在往下尝试了。
一共五种简写,五种惰性匹配方法:
分支结构: 管道符, 惰性匹配。
匹配: good 或者 bye
注意:如果有脱字符在最前面,有什么要注意的?
案例分析
匹配16进制颜色
#ffbbad
#Fc01DF
#FFF
#ffE
匹配时间
23:59
02:07
匹配日期
2017-06-10
匹配路径
F:\study\javascript\regex\regular expression.pdf
F:\study\javascript\regex\
F:\study\javascript
F:\
ps:[ ^\:*<>|"?\r\n/ ]来表示合法字符
ps: 盘符 [ a-zA-Z ]:\\
匹配ID
<div id="container" class="main"></div>