AI智能
改变未来

js正则表达式

#正则表达式

一 定义

1.正则表达式创建

  • (1)构造函数创建
    var reg=new RegExp(正则内容,修饰符);
  • (2)字面量创建
    var reg=/正则内容/修饰符;
  • (3)修饰符:
    1° i:不区分大小写
    2° g:全局匹配
    3° m:多行匹配
  • (4)正则对象的方法
    1°test()
    判断test()参数中的字符串中有没有匹配正则表达式内容。
    例:var reg=/a/i; (是否存在\”a\”,不区分大小写)
    2°exec()
    exec 返回一个数组,表示exec()参数中字符串匹配正则的内容 不会全局匹配
    例:var arr=reg.exec(“bcAdfa”);
  • (5)字符串方法
    ①search() 查找
    只能找到第一个不能全局匹配,返回找到内容下标。
    ②match() 查找
    把找到匹配的元素用数组罗列,如果没有全局匹配。与exec相同。
    ③replace() 替换
    当使用全集匹配时,可以完成所有匹配元素的替换
    ④split() 切割

2.元字符

  • (1). 元字符
    . 匹配任何一个字符,是一个通配符。
    . 把通配符 . 转译为字符型 .
  • (2)[] 元字符
    ①匹配[]内所有元素的任意一个。只通配一个元素。
    ②写在[]中的 , 就是转义字符,不是通配符。
    ③如果匹配括号,所有括号必须加上 \\转义成字符型。
    ④两个\\在字符或者正则表达式的[]中都是一个\\。
    ⑤[0-20] ===[0-2 0];
    ⑥在[]内第一个字符是^,表示后边的字符不用,取反。
    1° [^]不要
    2°如果不是第一个字符,则作为使用。
  • (3)转义字符类
    ①\\w查找单词字符。与[a-zA-Z_0-9]相同
    ②\\W查找非单词字符。[^0-9 A-Za-z_]相同
    ③\\d查找数字。与[0-9]相同
    ④\\D查找非数字字符。与[^0-9]相同
    ⑤\\s查找空白字符。
    ⑥\\S查找非空白字符。
  • (4)重复匹配
    ①{n} 普通重复
    ②{min,max}g 贪婪匹配:尽可能满足最大的max匹配
    1°/a {0,1}/g /a?/g 可以有1个,也可以没有。
    2°/a{1,}/g /a+/g 匹配至少1个,也可以多个。
    3°/a{0,}/g /a*/g 可以没有,可以有多个。
    ③非贪婪匹配
    在* 或者 + 或者{num,} 后面加 ? 来匹配最少的部分。
    ④选择匹配
    /ab|cd/ ab或者cd
  • (5)起始结束符
    ^ :起始符 表示开始从这个匹配。
    $ : 结束符 要求必须以某个元素结束。
  • (6)() 群组
    ①当使用match时,如果使用群组,如果不加g,可以将每个群组列表在数组的下标1开始的元素,加g就不能找到群组的内容。
    ②在replace中如果不使用群组,后面的函数中参数的第一位是符合正则的内容,第二位是这个字符的下标。
    ③如果使用群组,后面的函数中参数的第一位是符合正则的内容,第二位是符合内容的第一个群组,第三位是符合内容的第二个群组。
  • (7)?= 断言
    ①前断言:
    ?= 查找某个元素,条件为紧随其后是某个字符。
    ?! 查找某个元素,条件为紧随其后不是某个字符。
    ②后断言:(?<=)查找某个元素,条件为其前面必须为某条件的元素。
    (?<!)查找某个元素,条件为其前面必须不是某条件的元素。
  • (8)中文匹配
    [\\u4e00 – \\u9fa5]
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » js正则表达式