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

JS_正则表达式_使用字符串创建的正则表达式_反斜杠也需要添加转

发布时间:2020-12-16 08:55:45 所属栏目:asp.Net 来源:网络整理
导读:备注1:? ?使用字符串创建的正则表达式:""也需要加转义符: var reg1=new RegExp("w+");? ? ? ?这和 直接使用:var reg2=? ? /w+/? ? ? 他们是等价的。 备注2:? ?获取匹配结果集: string.match(regex,option可选)? ? 和? ?Regex.exec(string).? ? 注

备注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

?

(编辑:李大同)

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

    推荐文章
      热点阅读