正则表达式

205 阅读1分钟

转义字符“\” 多行字符串 字符串换行符\n

正则表达式RegExp: 匹配特殊字符或有特殊搭配的字符串的最佳选择。

创建方式:1.直接量 var reg = / abc / i g m;
2.var reg = new RegExp("abc","i g m")

i 忽略大小写 g 全局匹配 m 多行匹配

<script>
    var reg = /^a/g //以a开头的a
    var reg = /[0-9A-z][0-9][a-z]/g //范围
    var reg = /[^a][^b][^0]/g //^在[]里表示非
    var reg = /(abc | bcd [0-9])/g // |或者
    var reg = /[\u0000-\uffff] /g //匹配一切字符
    var reg = /[\d\D] /g //匹配一切字符
    var reg = /[\s\S] /g //匹配一切字符
    var reg = /./g //匹配一切字符
        // . ===[^\r\n]

    //  \w ===[0-9A-z_]  world
    //  \W ===[^\w]
    //  \d ===[0-9]数字
    //  \D ===[^\d]
    //  \s ===[\t\n\r\v\f ]空白符
    //  \S ===[^\s]
    //  \b ===单词边界"abb sdd asd"
    //  \B ===非单词边界

    //n+  {1,}
    //n*  {0,infinit}
    var reg = /\w+/g //出现多次
        //n? {0,1}
        //n{x} x个 n{3}  n{4,6} 
    var reg = /\w{2,}/g //匹配2个以上
    var reg = /^abbc$/g //限制字符串
    var reg = /^abbc/g //以abbc开头
    var reg = /abbc$/g //以abbc结尾
    var reg = /^\d | \d$/g //首尾含有数字
    var reg = /^\d(\s\S*)\D$/g //首尾都有数字
    var reg = /(\w)\1\1/g //反向引用()里的内容aaa
    var reg = /(\w)\1\1(\w)\2\2/g //反向引用()里的内容aaabbb


    //reg.exec();  执行

    string.match() //找到一个或多个正则表达式匹配
    string.search() //检索与正则表达式相匹配的值
    string.spliit(reg) //拆分字符串
    string.replace(reg, "$2$2$1$1") //替换

    // the-first-name >>theFirstName
    var reg = /-(\w)/g;
    var str = "the-first-name";
    console.log(str.replace(reg, function($, $1) {
        return $1.toUpperCase();
    }));
    //正向预查,正向断言
    var str = "aabaaa"
    var str = /a(?b)/g //后面带b的a
    var str = /a(?!b)/g
</script>