首页 > 其他 > 详细

正则表达式

时间:2019-06-15 16:57:56      阅读:92      评论:0      收藏:0      [点我收藏+]

一、正则表达式的4个常用常用方法:

  1.test:

//test : 正则去匹配字符串,如果匹配成功就返回真,如果匹配失败就返回假
//test的写法 : 正则.test(字符串)
var str = ‘abcdef‘;
var re = /b/;
alert( re.test(str) );
//显示的结果为:true

  2.search:

//search : 正则去匹配字符串 , 如果匹配成功,就返回匹配成功的位置,如果匹配失败就返回 -1
//search的写法 : 字符串.search(正则)
var str = ‘jksjlfw‘;
var re = /s/;
alert(str.search(re));
//显示的结果为:2

  3.match:

//match : 正则去匹配字符串,如果匹配成功,就返回匹配成功的数组,如果匹配不成功,就返回null
//match的写法 : 字符串.match(正则)
var str = ‘haj123sdk54hask33dkhalsd879‘;
//在正则表达式双斜杠后面添加一个g表示匹配全局,\d表示匹配数字0-9,在\d后面添加一个加号表示匹配多个\d
var re = /\d+/g;
alert( str.match(re));
//显示的结果为:123,54,33,879

  4.replace:

//replace : 正则去匹配字符串,匹配成功的字符去替换成新的字符串
//replace的写法 : 字符串.replace(正则,新的字符串)
var str = ‘haj123sdk54hask33dkhalsd879‘;
var re = /\d+/g;
//将所有的数字全部提换成了汉字两个字
alert(str.replace(re,‘汉字‘))
//显示的结果为:haj汉字sdk汉字hask汉字dkhalsd汉字

二、正则表达式部分细节:

  1.replace : 第二个参数:可以是字符串,也可以是一个回调函数

//菲称仁爱礁附近17艘中国船均在菲军监视之下
var str = ‘菲称仁爱礁附近17艘中国船均在菲军监视之下‘;
var re = /菲称|中国船|监视之下/g;
str = str.replace(re,function(str){
    //函数的第一个参数:就是匹配成功的字符
    var res = ‘‘;
    for (var i = 0; i < str.length; i++) {
        res += ‘*‘;
    };
    return res
})
alert(str);
//显示的结果为:**仁爱礁附近17艘***均在菲军****

   2.匹配子项:

//匹配子项 : 小括号 ()  (还有另外一个意思,分组操作)
var str = ‘2013-6-7‘;
var re = /(\d+)(-)/g;
str = str.replace(re,function(str1,str2,str3){
    //str1表示正则获取的整体
    //str2表示正则的第一个子项也就是第一个括号里的内容
    //srt3表示正则的第二个子项也就是第二个括号里的内容;
return $1 + ‘.‘; }); alert( str ); //显示结果为:2013.6.7

   3.知识点概括:

    ①[ ] 中括号的整体代表一个字符,在[ ]中可以限定范围,例如:[a-z]则表示小写字母a-小写字母z,[A-Z]则表示大写字母A-大写字母Z,[0-9]则表示数字0-9;

     ②排除 : ^ 如果^写在[]里面的话,就代表除[ ]内容以内范围都包括在内的意思;

     ③量词 :

      {4,7}  : 最少出现4次,最多出现7次

      {4,} : 最少出现4次

      {4} : 正好出现4次

      + : 表示一次或者一次以上

      ? : 表示0次或者一次

      * : 表示最少出现0次

 

正则表达式

原文:https://www.cnblogs.com/rickyctbur/p/11027829.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!