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

正则知识点

发布时间:2020-12-14 06:40:19 所属栏目:百科 来源:网络整理
导读:正则的两种写法: 第一种(标准写法): new RegExp(规则,修饰符); 第二种(简写): /规则/ d:一个数字 D:一个非数字 w:一个数字、字母、下划线 W:一个非数字、字母、下划线 n:换行 s:空格 S:非空格 b:边界符 .:任意字符除了n []:在中括号里任

正则的两种写法:

第一种(标准写法):
new RegExp(规则,修饰符);

第二种(简写):
/规则/

  • d:一个数字
  • D:一个非数字
  • w:一个数字、字母、下划线
  • W:一个非数字、字母、下划线
  • n:换行
  • s:空格
  • S:非空格
  • b:边界符
  • .:任意字符除了n
  • []:在中括号里任意选择一个字符。
  • [^]:排除
  • {}:量词范围
  • {0,1}/?:最小可以没有最大1个
  • {0,}/*:最小没有,最大无限
  • {1,}/+:最小1个,最大无限
  • {n}:固定的次数
  • 修饰符:i -> 忽略大小写。
  • 转义符:

正则的方法-text

test:检测是否正则匹配的内容,如果正则成立那么返回一个布尔值。

  • 正则.test(string);
var str = 'RegExp';
    var re = new RegExp('p','i');
    console.log(re.test(str));

字符串方法-match

match:将匹配到的字符放到一个数组中。

string.match(正则);

当匹配到的字符只有一个的时候,会显示出多个属性

index: 匹配字符的位置

input: 所有内容

而length为1

  • match如果找不到返回null
var str = 'das37213dsa321hjkh321321';
    console.log(str.match(/d+/g))

字符串的方法-search

search:找到(可以指定也可以正则匹配)匹配的字符位置。

sting.search(字符串||正则);

var str = 'aacabca523c';
    console.log(str.search(/d/));
  • search如果找不到返回-1

字符串方法-replace

replace:replace

string.replace(要替换谁||可以用正则,替换成什么||函数);

返回值为替换好的字符串。

注意:
如果使用函数,那么一定要有retrun,不然为undefind

一般情况下

函数内的第一个参数是当前匹配的字符。

函数内的第二个参数是当前匹配的索引值。

函数内的第三个参数是当前总的字符串。

函数内的第四个以后参数都为undefined。

var str = '中国共产党,习近平总书记说:“法轮功是邪教!”';
    str.replace(/中国共产党|习近平|法轮功|邪教/g,function($0,$1,$2,$3,$4){
        console.log($0,$4);
    });

子项 - ()

从左往右数

如果正则中有子项

从函数的第一个参数之后就是匹配到的子项值,
当参数的个数等于子项个数+1的时候,之后都为正常模式下的参数了(比如:索引,整个字符,undefined..)

var str = '2017/2/17';
    var str = str.replace(/(d+)D+(d+)D+(d+)/,$3){
        //console.log($1,$3);
        return $1 + '年' + $2 + '月' + $3 + '日';
    });
    
    console.log(str);

子项重定向

var str = 'ssssssssaaaaaabbbbbb';
    str.replace(/(w)1+/g,$1){
        console.log($1);
    });

(编辑:李大同)

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

    推荐文章
      热点阅读