一、正则表达式
对应数量
符号 | 含义 |
---|---|
x{m,n} | 至少匹配m个x,最多匹配n个x |
x{n} | 匹配n个x |
x? | =x{0,1} |
x+ | =x{1,} |
x* | =x{0,} |
对应位置
符号 | 含义 |
---|---|
^x | 方括号内表示非,方括号外表示行首 |
x$ | 行尾 |
对应内容
符号 | 含义 |
---|---|
x | 某个具体字符,可以是‘x’,可以是‘y’,也可以是'(xy)'。 |
() | 见上行 |
. | 单个任意字符,\.则是匹配字符串’.' |
| | 匹配多个正则表达式,用|隔开多个表达式 |
[^x] | 非单个字符x |
[] | 单个范围字符 |
\d | =[0-9] |
\D | =[^0-9] |
\w | =[a-zA-Z0-9_] |
\W | =[^a-z^A-Z^0-9^_]=[^\w] |
\s | =[\0\b\f\n\r\t] |
\S | =[^s] |
匹配模式
符号 | 含义 |
---|---|
i | 忽略大小写 |
g | 全局匹配 |
m | 换行匹配,以新行为行首 |
二、可用函数
-
创建正则表达式对象
-
创建方法:对象构造函数,构造函数,双斜杠写法。
-
参数:第一个参数,正则表达式(格式String),第二个参数(可选),匹配模式。
-
匹配模式:i,忽略大小写,g,全局匹配(匹配所有符合的字符串)。
-
示例:
var exp1=new RegExp('hello'); var exp2=new RegExp('hello','i'); var exp3=RegExp('hello'); var exp4=RegExp('hello','g'); var exp5=/hello/; var exp6=/hello/ig;
-
-
匹配字符串
-
可用函数
//返回布尔值 exp.test(str); //返回匹配到的字符串数组 exp.exec(str); str.match(exp); //支持正则对象作为参数的string str.replace(oldstr/exp,newstr); str.split(分隔符/exp); str.search(str/exp);不支持g模式
-
示例
var str="hello Hello hello Hello"; //获得第一个匹配项 var exp=/hello/g; if(exp.test(str)) console.log(exp.exec(str)[0]); //替换所有字符串 var str1=str.replace(/hello/g,'Hello');
-