例子 | |||
创建 | Var re=new RegExp(‘a’,’i’) 或 Var re=/a/i | i表示不区分大小写 此外g表示执行全局匹配 m表示执行多行匹配 | |
转义 | Var re=/*/i 匹配所有字符 Var re=/\*/I 匹配星号 Var re=/a|b/i匹配a或者b字符(不区分大小写) | 特殊符号都需要转义,特殊符号有:! $ * + = .? / | \ () () [] {} | |
特殊字符有:o t n v f r xnn uxxx cX | |||
字符类 | \w | 匹配任何ASCII单字符A~Z和a~z0~9 | |
\W | 匹配任何ASCII单字符以外的字符 | ||
\s | 匹配任何Unicode空白符 | ||
\S | 匹配任何Unicode空白符以外的符号 | ||
\d | 匹配任何数字0~9 | ||
\D | 匹配任何数字以外的字符 | ||
[...] | 匹配方括号中的所有字符 | 或者 [/-]匹配"/"或者“-” | |
[^...] | 匹配除方括号中字符的所有字符 | ||
\b | 单词边界 | ||
范围类 | g | 全局搜索 | 全局匹配多次 |
i | 不分大小写 | ||
重复类 | {n} | 匹配前一项n次 | Var re=/a{5}/i 匹配a5次 |
{n,} | 匹配前一项至少一次 |
| |
{n,m} | 匹配前一项至少n次,至多m次 |
| |
{n,m}? | 非贪婪模式 | aaaaaa.replace(/a{3,6}?/g,‘b’) 结果是bb | |
{?} | 匹配前一项0次或1次 | ||
{+} | 匹配前一项至少1次 | .+ 匹配“.”至少一次 | |
{*} | 匹配前一项0次或多次 |
| |
特殊符号 | | | Var re=/a|b/i匹配a或者b字符(不区分大小写) | |
$ | 匹配字符串的结尾 | 以什么结尾 | |
^ | 匹配字符串的开头 | 以什么开头 | |
\b | 匹配一个单词的边界 | \bis\b 表示匹配is这个字符串,且is左右都是空格 | |
\B | 与\b相反,匹配一个非单词边界word boundary | ||
方法 | exec() | 返回一个数组 | |
text() | 返回一个布尔值 | ||
toSource() | 返回RegExp对象的源代码 | ||
toString() | 将RegExp对象转换成字符串 | ||
replace( ,) | 替换 | ab1av1aac.replace(/[abc]/g,’x’) //结果是xx1xvxxx | |
或者 | a|b | a或者b |
[/-] | /或者- | |
例子 | 正则表达式 | 解释 |
匹配以http://开头,以.jpg结尾的字符串,比如http://uncleje/img/abc.jpg | http:\/\/.+\.jpg | //要转义,"."表示任意字符,+表示至少匹配一次 |
匹配日期 2019/02/01 2001-05-02 不匹配 22019/02/012 | ^/d{4}[/-]/d{2}[/-]/d{2}$ | ^匹配字符串的开头 $匹配字符串的结尾 [/-]匹配/或者- |
匹配所有除了汉字,大小写英文字母,数字以外的所有字符 | Var re=/[^\w\u4e00-\u9fa5]/g; | \u4e00-\u9fa5中文字 \w数字和英文字母 |
分组:
http:(\/\/.+\.jpg)