加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式

发布时间:2020-12-14 05:57:37 所属栏目:百科 来源:网络整理
导读:一、正则表达式的4个常用常用方法: 1.test: // test : 正则去匹配字符串,如果匹配成功就返回真,如果匹配失败就返回假 //test的写法 : 正则.test(字符串) var str = ‘abcdef‘ ; var re = /b/ ; alert( re .test(str) ); //显示的结果为:true 2.search

一、正则表达式的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次

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读