zoukankan      html  css  js  c++  java
  • JS_正则表达式_使用字符串创建的正则表达式_反斜杠也需要添加转义符

    备注1:   使用字符串创建的正则表达式:""也需要加转义符: var reg1=new RegExp("\w+");       这和 直接使用:var reg2=    /w+/      他们是等价的。

    备注2:   获取匹配结果集: string.match(regex,option可选)    和   Regex.exec(string).    注意,前者匹配时可设置匹配选项(i-忽略大小写,g-全局匹配),后者只会匹配一次。

    如:var regex1=new RegExp("a");     var regex2=new RegExp("a","ig");   前者是创建匹配a的正则表达式,后者是创建匹配a的全局且忽略大小写的正则表达式。

    重点:Regex.test(string) 判断是否存在字符集

       Regex.exec(string)  获取首次结果字符集

       string.match(new Regex(string)) 获取首次结果字符集

              string.match(new Regex(string,"ig")) 获取全局&忽略大小写结果字符集

    A:

    var reg = /^w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+)*.[A-Za-z0-9]+$/;
    if (reg.test(input)) {
      return true;
    }

    B:

    this.email = "^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$";

    _this.isEmail = function (str) {
      return new RegExp(window.LoginValidateRegExp.email).test(str);
    };

    C:    "fasfwerweaadfwefewfafew".match(/a/g)   能匹配到所有的a

    "fasfwerweaadfwefewfafew".match(new RegExp("a","g"))   能匹配到所有的a

    "fasfwerweaadfwefewfafew".match(/a/)   只能匹配到第一个a

    /a/.exec("fasfwerweaadfwefewfafew")   只能匹配到第一个a

    /a/g.exec("fasfwerweaadfwefewfafew")   只能匹配到第一个a(这里加上全局g也没用,exec方法只会匹配一次)

    String.match方法的解释有这样一句话:

    文章地址:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match

    If the regular expression does not include the g flag, str.match() will return the same result as RegExp.exec()

    总结:当使用构造函数创造正则对象时,需要常规的字符转义规则(在前面加反斜杠 )。比如,以下是等价的:

    var re = new RegExp("\w+");
    var re = /w+/;

    参考资料:

    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions

    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/RegExp

  • 相关阅读:
    Kafka
    js操作json
    Javascript的console.log()用法
    js中的instanceof运算符
    JS阻止事件冒泡的3种方法之间的不同
    js string to date
    JavaScript RegExp.$1
    JS正则表达式大全
    js data日期初始化的5种方法
    javascript和jquey的自定义事件小结
  • 原文地址:https://www.cnblogs.com/lxhbky/p/7814772.html
Copyright © 2011-2022 走看看