栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在JavaScript中将长正则表达式拆分为多行?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在JavaScript中将长正则表达式拆分为多行?

您可以将其转换为字符串并通过调用创建表达式

new RegExp()

var myRE = new RegExp (['^(([^<>()[]\.,;:\s@"]+(\.[^<>(),[]\.,;:\s@"]+)*)',  '|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.',  '[0-9]{1,3}])|(([a-zA-Z-0-9]+\.)+',  '[a-zA-Z]{2,}))$'].join(''));

笔记:

  1. 表达式文字 转换为字符串时,您需要对所有反斜杠进行转义,因为在评估字符串文字时会消耗反斜杠。(有关更多详细信息,请参见Kayo的评论。)
  2. RegExp
    接受修饰符作为第二个参数

/regex/g
=>
new RegExp('regex', 'g')

[ 添加ES20xx (标记模板)]

注意:

  • 这里缺点是,你不能在正则表达式字符串使用纯空格(经常使用
    s
    s+
    s{1,x}
    t
    n
    等)。
(() => {  const createRegExp = (str, opts) =>     new RegExp(str.raw[0].replace(/s/gm, ""), opts || "");  const yourRE = createRegExp`    ^(([^<>()[]\.,;:s@"]+(.[^<>()[]\.,;:s@"]+)*)|    (".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|    (([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$`;  console.log(yourRE);  const anotherLongRE = createRegExp`    (byyyyb)|(bmb)|(bdb)|(bhb)|(bmib)|(bsb)|(bmsb)|    (bwdb)|(bmmb)|(bddb)|(bhhb)|(bMIb)|(bSb)|(bMSb)|    (bMb)|(bMMb)|(bdowb)|(bDOWb)    ${"gi"}`;  console.log(anotherLongRE);})();


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/575270.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号