作用
匹配指定规则的字符串
应用
- 编译器中的词法分析器会使用正则表达式去匹配代码中的关键字;
- 网站上的注册表单会使用正则表达式去判断密码的复杂程度或者邮箱等格式是否正确;
- 在爬虫中,使用正则表达式提取我们需要的信息
规则
限定符 | 规则 | 例子 |
/abc?/ | “ ab ”后面只能出现0个或1个“ c ”,不能有其他字符 | /abc? 可以匹配到 ab 和 abc |
/ab*c/ | “ a ”和“ b ”中间只能有0个或多个“ c ”,不能有其他字符 | /ab*c 可以匹配到 ac、abc、abbbbc、… 不能匹配adc,因为“ a ”和“ c ”中间只能是“ b ” |
/ab+c/ | “ a ”和“ b ”中间必须有1个或多个“ b ” | /ab+c 可以匹配abc、abbbbc、… 不能匹配ac,因为“ a ”和“ c ”中间至少得有一个“ b ” |
指定字符出现的次数——花括号 {…}
/ab{6} /
表示“ b ”要出现6次
/ab{2, 6} /
表示“ b ”出现的次数范围是2次~6次
/ab{2, } /
省略后面的数值,表示“ b ”出现的次数为2次以上
多个字符的匹配——括号(…)
var str = "Visit W3School Visit List";
var patt1 = /(si)+/;此处,匹配字符串“ si ”,结果为:si,si
字符类——方括号[…]
匹配的字符只能取自于方括号中的内容
/[abc]+/
此处,匹配有“ abc ”这几个字母构成的单词
可以在方括号中指定字符的范围
/[a-z]/
表示所有的小写字母都可匹配
/[A-Za-z]/
表示所有的英文字母都可匹配
/[A-Za-z0-9]
表示所有的英文字母和数字都可匹配
表示“非”——^
/[^0-9]+/
表示所有非数字字符(包括换行符)