JavaScript 正则表达式(RegExp)

  • JavaScript正则表达式

    什么是正则表达式?正则表达式是形成搜索模式的字符序列。在文本中搜索数据时,可以使用此搜索模式来描述要搜索的内容。正则表达式可以是单个字符,也可以是更复杂的模式。正则表达式可用于执行所有类型的文本搜索和文本替换操作。
    语法:
    /pattern/modifiers;
    例子:
    var patt = /jc2182/i;
    示例说明:
    /jc2182/i 是一个正则表达式。
    jc2182 是一种模式(用于搜索)。
    i 是一个修饰符(将搜索修改为不区分大小写)。
  • 使用字符串方法

    在JavaScript中,正则表达式通常与两个字符串方法一起使用:search()replace()search()方法使用表达式搜索匹配,并返回匹配的位置。replace()方法返回修改后的字符串,其中替换了模式。

    使用String search() 方法

    search()方法在字符串中搜索指定的值并返回匹配的位置:
    var str = "Visit CAINIAOYA!";
    var n = str.search("CAINIAOYA");
    
    尝试一下

    使用search()和正则表达式

    使用正则表达式对字符串中的“jc2182”进行不区分大小写的搜索:
    var str = "Visit CAINIAOYA";
    var n = str.search(/jc2182/i);
    
    尝试一下

    使用String replace() 方法

    replace()方法用字符串中的另一个值替换指定的值:
    var str = "Visit baidu!";
    var res = str.replace("baidu", "jc2182");
    
    尝试一下

    replace()和正则表达式

    使用不区分大小写的正则表达式将baidu替换为字符串中的jc2182:
    var str = "Visit Baidu!";
    var res = str.replace(/baidu/i, "jc2182");
    
    尝试一下
    正则表达式参数(而不是字符串参数)可以在上面的方法中使用。 正则表达式可以使您的搜索功能更强大(例如,不区分大小写)。
  • 正则表达式修饰符

    修饰符 描述 尝试
    i 执行不区分大小写的匹配 尝试一下
    g 执行全局匹配(查找所有匹配项,而不是在第一次匹配后停止) 尝试一下
    m 执行多行匹配 尝试一下
    正则表达式
    表达式 描述 尝试
    [abc] 找到括号之间的任何字符 尝试一下
    [0-9] 找到括号之间的任何数字 尝试一下
    (x|y) 找到用|分隔的任何替代方案 尝试一下
    元字符是具有特殊含义的字符:
    元字符 描述 尝试
    [abc] 找到括号之间的任何字符 尝试一下
    [0-9] 找到括号之间的任何数字 尝试一下
    (x|y) 找到用|分隔的任何替代方案 尝试一下
    量词定义数量
    量词 描述 尝试
    n+ 匹配包含至少一个n的任何字符串 尝试一下
    n* 匹配包含零次或多次n的任何字符串 尝试一下
    n? 匹配包含零个或一个n次出现的任何字符串 尝试一下
  • 使用RegExp对象

    使用test()方法

    test()方法是一种RegExp表达方法。它在字符串中搜索模式,并根据结果返回true或false。以下示例在字符串中搜索字符“e”:
    var patt = /e/;
    patt.test("The best things in life are free!");
    
    尝试一下
    您不必先将正则表达式放在变量中。上面两行可以缩短为一行:
    /e/.test("The best things in life are free!");
    

    使用exec()方法

    exec()方法是一种RegExp表达方法。它在字符串中搜索指定的模式,并将找到的文本作为对象返回。如果未找到匹配项,则返回空(null)对象。以下示例在字符串中搜索字符“e”:
    /e/.exec("The best things in life are free!");
    
    尝试一下
    完整的RegExp参考请查阅我们参考手册