浅学正则表达式

正则表达式:
    通常用来检查、替换那些符合某个模式或者规则的文本。
    *专门用来操作文本(字符串)

语法:
        1.new RegExp(pattern, attributes);
        2./pattern/attributes
    作用:
        对字符串进行检索、匹配/替换

    模板:
        通过regex.test方法测试目标字符串是否和模板是否匹配

    属性:
        i:执行对大小写不敏感匹配
        g:执行全局匹配(找到所有匹配而不是第一个匹配就停止)
        m:执行多行匹配
    规则:
        ^:匹配的字符串一定要和模板开头
        $:匹配的字符串要以模板结尾
        []:匹配数字
        {s,e}:如果是一个数字,代表出现的次数。如果是两个数字,代表s至e位。
    简写:
        \w:[0-9a-zA-Z_]
        \d:[0-9]          //匹配数字

        *如果是相匹配正则的关键字,记得前面加上转义符(\

      前面都是我总结的知识点,接下来通过实例来进行更透彻的理解正则表达式。

      一般用正则表达式匹配,接下来以匹配邮箱为例子 。

首先原匹配的字符是(可以理解为模板)

被用来匹配的是

var regex = /^[email protected]$/i;
var target = "[email protected]";
console.log(regex.test(target));

测试结果:false

原因:原匹配字符是要以 ^ 开头 ,被匹配的是111  那结果当然是false咯

扫描二维码关注公众号,回复: 2322365 查看本文章

由固定的邮箱地址转到一般的邮箱地址为:

对了,这个时候需要说一下两个测试关键字的区别:

  test的作用仅仅用来测试字符串是否匹配正则模板
  exec(执行)的作用是执行正则的解析和查询,解析查询完之后,会将分组的匹配结果分别复制给RegExp这个对象的$n的属性

 var email = "[email protected]";
 var emailRegex = /^(\w+)@(\w+)\.com(\.cn)?$/i;
if(emailRegex.exec(email)){
              console.log("邮箱地址合法...");
              console.log("公司"+RegExp.$2+"员工:"+RegExp.$1);

        }

使用  exec  关键字的执行结果:  

使用  test 关键字:

   var regex = /^(sss)|(ddd)|(ccc)$/ig;
        var str = "sss";
        if(regex.test(str)){
            alert("匹配");
        }

测试结果是: 匹配 

这个案例中的第一行  

有无括号或者括号的个数   执行结果上有区别 ,这里就不赘述了。

预祝你们都有一个愉快的学习过程。

猜你喜欢

转载自blog.csdn.net/lmc15007/article/details/81145762