如何在正则表达式中替换变量

时间:2013-01-31 17:54:43

标签: javascript regex

我有一个函数可以从传递给函数的字符串中提取特殊修饰符

function parseContext(record, txtInput) {
    var context = String((txtInput.match(/(^\@[\w\n]*)/g) || [""])[0]).replace("@", "");
    record.entry = txtInput;
    if (command && command.length) {
        txtInput = String(txtInput).replace("/" + command, "");
        record.command = command;
        record.entry = txtInput;
    }
    return record;
}

我不知道怎么做(在这种情况下),是如何抽象它,所以我可以解析出一个像任何形式的任意前导字符:

function parseModifier(record, modifier, txtInput) {
    var command = String((txtInput.match(/(^\  ---what goes here? --- [\w\n]*)/g) || [""])[0]).replace(modifier, "");

这可能吗?

1 个答案:

答案 0 :(得分:4)

var re = new RegExp('(^\\' + anyVariable + '[\w\n]*)', 'g');
var command = String((txtInput.match(re || [""])[0]).replace(modifier, "");

使用RegExp构造函数允许您使用任何变量,因为它需要一个字符串作为输入。