【JavaScript】正则表达式(RegularExpression)

一、正则表达式

对应数量

符号 含义
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 换行匹配,以新行为行首

二、可用函数

  1. 创建正则表达式对象

    1. 创建方法:对象构造函数,构造函数,双斜杠写法。

    2. 参数:第一个参数,正则表达式(格式String),第二个参数(可选),匹配模式。

    3. 匹配模式:i,忽略大小写,g,全局匹配(匹配所有符合的字符串)。

    4. 示例:

    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;
  2. 匹配字符串

    1. 可用函数

    ​
    //返回布尔值
    exp.test(str);
    ​
    //返回匹配到的字符串数组
    exp.exec(str);
    str.match(exp);
    ​
    //支持正则对象作为参数的string
    str.replace(oldstr/exp,newstr);
    str.split(分隔符/exp);
    str.search(str/exp);不支持g模式
    1. 示例

    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');

猜你喜欢

转载自blog.csdn.net/weixin_46590928/article/details/126902692