正则和字符串之间的关系梳理

前端开发 作者: 2024-08-25 21:50:01
正则一直让人又爱又恨,因为使用正则能够快速方便的解决一些原本很复杂的问题。而正则用的最多也就是字符串的处理。他俩关系还真是有点暧昧复杂,让人傻傻有点搞不清楚,有必要进行梳理一番。 正则常用的方法有:
    var pattern=/<(\w+)(>)/g;
    var se=pattern.exec(str);
    var se1=pattern.exec(str);
    console.log(se)//[ "<tt>","tt" ,">"]数组第一项是匹配项,第二项代表第一个捕获项
    console.log(se1)[ "<rr>","rr",">" ]数组第一项是匹配项,第二项代表第一个捕获项,第三项代表第二个捕获项
var str='<tt><rr><rr/><ll><lt></lt><ll/><dd></dd><rr/><tt><tt/><rr><rr/>';
    var ss=str.match(/<\w+>/);    [ "<tt>" ]
    var sss=str.match(/<\w+>/g);    rr>","<ll>","<lt>","<dd>","<tt>","<rr>" ]
var sea=str.search(/<\w+>/);  0
var sea1=str.search(/<\w+\/>/);8
    var text="cat bat ut dat"var re=text.replace("at","11");c11 bat ut dat
    var re1=text.replace(/at/g,1)">c11 b11 ut d11

    var re2=text.replace(/(.a(t))/g,"$1$2") ;catt batt ut datt
    
    function replaceText(text){
        return text.replace(/at/g,(match,pos,originalText){
            console.log(match+" "+pos+" "+originalText);要输出三次
        })
    }
    replaceText(text);
    at 1 cat bat ut dat 
    at 5 cat bat ut dat 
    at 12 cat bat ut dat
    最终结果是cundefined bundefined ut dundefined 
    因为函数没有返回值,所以是undefined
    var result=text.split(/\s/);[ "cat","bat","ut","dat" ]
    var result1=text.split(/\s/,2);
原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_68618.html