• JavaScript学习笔记-用于模式匹配的String方法


    用于模式匹配的String方法:
     
    String支持4种使用正则表达式的方法:
     
            seach()用于检索,参数是一个正则表达式,返回第一个与之匹配的子串的位置,找不到则返回-1,如果参数不是正则表达式,则首先会通过RexExp构造函数将它转换成正则表达式,seach()方法不支持全局搜索,它忽略修饰符g;
     
            replace()用于检索与替换操作,第一个参数是一个正则表达式,第二个参数是要进行替换的字符串。它对调用该方法的字符串检索,按照模式匹配子串替换成第二个参数,若包含修饰符g则全文匹配。若第一个参数不是正则表达式而是字符串,则直接搜索替换掉这个字符串;
                    text.replace(/javascript/gi,'JavaScript')表示在text全文中搜索不区分大小写的javascript替换成JavaScript
            如果用来替换的字符串中出现($加数字),则replace()方法将用与$加数字指代的子表达式匹配的文本来替换,如:
                    var quote = /"([^"]*)"/g
                    text.replace(quote,'“$1”'); 全文搜索与/"([^"]*)"/匹配的字符串,替换为“$1”(表示只改变两边的双引号为中文半角,而存储在$1中的内容不变)$1存储了指代与第一个左圆括号内的子表达式匹配的字符串;   
     
            match() 唯一的参数是一个正则表达式,返回的是一个由匹配结果组成的数组,如果参数不是正则表达式,则首先会通过RexExp构造函数将它转换成正则表达式;
            (二)如果这个正则表达式带修饰符g,match()返回的数组元素是匹配全文得到的所有字符串;
            (二)如果这个正则表达式不带修饰符g,match()只检索第一个匹配,但他也返回一个数组(数组的第一个元素是匹配的整个字符串,接下来的元素是表达式中所有用圆括号括起来的子表达式匹配到的字符串,每个元素对应一个括号)
                如:var url = /(w*)://([w.]+)/(S*)/;
                        var text = 'http://www.w3school.com.cn/jsref';
                        var result = text.match(url);
                        if(result != null) {
                                var fullurl = result[0];
                                var protocol =result[1];
                                var host = result[2];
                                var path = result[3];
                        }
            split()将字符串按参数指定的分隔符拆分为多个子串组成的数组,如:
                    '123,345,789'.split(','); //返回['123','345','789']
                    '1,   2  , 3, 4   ,5  ,  6'.split(/s*,s*/);  //返回['1','2','3','4','5','6']
     
     
     
  • 相关阅读:
    numpy数组行列拼接
    Dropout和BN层的模式切换
    利用sklearn计算决定系数R2
    从曲线图中提取原始数据
    Matlab在极坐标中绘图
    MATLAB中scatter绘制散点图
    说一说你对HTML5语义化的理解
    第十一章 前端开发-html
    详解mysql int类型的长度值问题
    进程间通信(队列和管道)
  • 原文地址:https://www.cnblogs.com/susufufu/p/5705796.html
Copyright © 2020-2023  润新知