搜索
简帛阁>技术文章>JavaScript中正则的使用(1)

JavaScript中正则的使用(1)

通过例子学习正则中的常见语法(1)

  1. $num

    var a = 'javascript';
    var b = a.replace(/(java)(script)/gi, '$2-$1');
    console.log(b);//script-java
    
    • 正则以/开始和结尾,中间为要匹配的表达式
    • g表示全局搜索,i表示忽略大小写,m表示多行匹配
    • $1$2表示第1个和第2个子表达式(用小括号包裹)匹配到的文本,如例子所见,$1java$2script
  2. $&

    var a = 'javascript';
    var b = a.replace(/a/gi, '$&-$&');
    console.log(b);//ja-ava-ascript
    
    • $&表示匹配到的文本,即$&匹配到a
    • javascript中的a替换为a-a,所以最终结果为ja-ava-ascript
  3. $`

    var a = 'javascript';
    var b = a.replace(/(script)/gi, '$&-$`');
    console.log(b);//javascript-java
    
    • $`表示匹配到的文本的左侧文本,即$`匹配到java
    • script替换为script-java,所以最终结果为javascript-java
  4. $'

    var a = 'javascript';
    var b = a.replace(/(java)/gi, '$&-$\'');
    console.log(b);//java-scriptscript
    
    • $'表示匹配到的文本的右侧文本,即$'匹配到script
    • java替换为java-scripr,所以结果为java-scriptscript
    • 注意:$&-$\',如果用'包裹结果,需要\ 转义,如果用"包裹结果,则不需要转义
  5. $$

    var a = 'javascript';
    var b = a.replace(/a/gi, '$$');
    console.log(b);//j$v$script
    
    • $$表示对$进行转义输出
    • a替换为$
  6. replace

    var a = 'this is a javascript text';
    var b = a.replace(/\b(\w)(\w*)\b/g, fn);
    console.log(b);//This Is A Javascript Text
    
    function fn($1, $2, $3) {
        return $2.toUpperCase() + $3;
    }
    
    • replace接受两个参数,第一个为正则表达式,第二个可以为文本,也可以为函数
    • \b表示单词的分界线
    • \w表示字母、数字、下划线或者汉字
    • fn中共接收了三个参数
    • $1表示整个正则表达式匹配到的文本,依次为thisisajavascripttext
    • $2表示第一个子表达式(\w)匹配到的文本,分别为tiajt
    • $3表示第二个子表达式(\w*)匹配到的文本,分别为hiss(空的内容)avascriptext
    • $2.toUpperCase()$2匹配到的文本转换为大写
    • 结果This Is A Javascript Text
  7. replacefn详细内容

    var a = 'this is a javascript text';
    var b = a.replace(/\b(\w)(\w*)\b/g, fn);
    console.log(b);
    //this-t-his-0-this is a javascript text& is-i-s-5-this is a javascript text& a-a--8-this is a javascript text& javascript-j-avascript-10-this is a javascript text& text-t-ext-21-this is a javascript text&
    function fn($1, $2, $3, $4, $5) {
        return $1 + '-' + $2 + '-' + $3 + '-' + $4 + '-' + $5 + '&';
    }
    
    • 在例子6中介绍了$1, $2, $3,其实$2$3可以有多个,数量随正则中的子表达式变化,因为/\b(\w)(\w*)\b/中只有两个子表达式,所以只有$2$3
    • fn最后两个参数(不一定是$4$5),分别表示正则匹配到的文本($1)开始位置(如匹配到javascript$4就是javascript在整段文本中的开始位置10)和整个要匹配的文本(this is a javascript text
    • 根据以上分析,结果如下
exec方法为正则表达式匹配文本搜索字符串。如果找到匹配,则返回结果数组;否则,返回null。语法RegExpObjectexec(string);下面是参数详细信息:string:要搜索字符串
RegExp:是正则表达式(regularexpression简写。什么是RegExp?正则表达式描述了字符模式对象。当您检索某个文本时,可以使用一种模式来描述要检索内容。RegExp就是这
前面的话正则表达式在人们印象可能是一堆无法理解字符,但就是这些符号却实现了字符串高效操作。通常情况是,问题本身并不复杂,但没有正则表达式就成了大问题。javascript中的正则表达式作为相
目录一、什么是正则表达式1正则表达式特点2、正则表达式使用二、正则表达式中的特殊字符1正则表达式组成2、边界符3、字符类4、量词符5、括号总结6、预定义类三、String类中的方法1、matc
去掉首位空格代码如下:strstrreplace(/^\s+|\s+$/g,'');js正则表达式删除字符串前后空格Stringprototypetrimfunction(){varreSpace/^
由于javascript是unicode编码,所有的字符对于它来说一个就是一个,但是后台程序不是,通常在后台程序一个中文是占两个字节,这就导致了前后端校验长度不一致,这个问题可以通过正则来解决。
今天看了一个正则写法,回想一下,对于正则都忘记得差不多了,称这个时间整理一下,收集了一些以前资料和查看了一些别人资料,做一个小小总结,方便自己以后查看,也希望能帮助到大家!!欢迎指正,欢迎吐槽
test方法为正则表达式匹配文本搜索字符串。如果找到匹配,则返回true;否则返回false。语法RegExpObjecttest(string);下面是参数详细信息:string:要搜索字符串
法:stringreplace(newRegExp(oldString,"gm"),newString))gm分别代表:gglobal,mmultiLine大致上方法就是这样,可以实现替换全部指定
本文就是介绍在使用Javascript使用exec进行正则表达式全局匹配时注意事项。先看一下常见用法:代码如下:<scripttype"text/javascript">varpat