正则表达式语法
构造函数:var reg=new RegExp(pattern,modifiers);
字面量:var reg=/pattern/modifiers;
i 执行对大小写不敏感的匹配
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止) 配合match()方法使用
表达式 描述
[a-z] 查找任何从小写 a 到小写 z 的字符
[A-Z] 查找任何从大写 A 到大写 Z 的字符
[0-9] 查找任何从 0 至 9 的数字
[abc] 查找括号内的任意一个字符
[^abc] 查找除了括号内的任意字符
[/u4e00-/u9fa5] 查找是否是中文(有4100 有9罚我)
常用的元字符(特殊字符)
字符描述
\w 匹配数字、字母(大小写)、下划线
\W 匹配非数字、字母、下划线(只要有一个符合都为false)
\d 匹配数字
\D 匹配非数字
\s 匹配空白字符(空格、换行)
\S 匹配非空白字符
\n 匹配换行符
注意:这些元字符在使用时需注意区分大小写
常用的限定符
* 匹配前面的子表达式零次或多次
+ 匹配前面的子表达式一次或多次
? 匹配前面的子表达式零次或一次(以小写的字母或数字开头,或者结尾)
{n} 匹配确定的 n 次
{n,} 至少匹配n 次,多写也可以
{n,m} 最少匹配 n 次且最多匹配 m 次
正则表达式方法
检测一个字符串是否与正则相匹配
reg.test(string) =》返回值为布尔值 true匹配,false不匹配
reg.exec(string)=》匹配成功返回数组,并确定其位置,否则返回null
var str="efg";
var reg=/[a-z]/; 或者 var reg=/[A-Z]/;
console.log(reg.test(str));
console.log(reg.exec(str));
String类中可以支持正则的方法:
search 返回匹配字符串的下标,否则返回-1
match=》如果没有找到任何匹配的文本, 返回 null。否则,它将返回一个数组(依赖于是否具有全局标志 g)
replace=》返回一个新的字符串(必须加g)
split=》返回一个字符串数组