【问题标题】:How to concatenate two regulars expressions [duplicate]如何连接两个正则表达式[重复]
【发布时间】:2012-01-22 04:55:03
【问题描述】:

可能重复:
How can I concatenate regex literals in Javascript?

我手里有两个正则表达式。 A 和 B 我想做的是,我的表达应该以 A 开头,然后以 B 结尾,我该怎么做。

A=[^a-zA-Z] 和 B=/.+/;

【问题讨论】:

  • A 不是正则表达式。
  • @kennebec: I have two regulars expressions in my hand. A and B...
  • 您的意思是您想要制作一个具有这两种特征的正则表达式,或者您想要以编程方式动态地生成基于其他两个特征的新正则表达式?

标签: javascript


【解决方案1】:

/* 正则表达式有很多出错的方法—— 此方法忽略第一个表达式中的任何标志, 并且不检查错误-整个编写正则表达式更安全, 或从字符串构建它们。 */

function mergeRx(start, end){
    start= String(start).substring(1);
    end= String(end).substring(1);
    var rx=/\/([igm]+)?$/,
    flag= end.match(/[igm]+$/) || '';

    start= start.replace(rx, '')+end.replace(rx, '');
    return RegExp(start, flag);
}

var A=/[^a-zA-Z]/, B=/.+/;
mergeRx(A, B)

/*  returned value: (RegExp)
/[^a-zA-Z].+/
*/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多