0

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

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, "");

这可能吗?

4

1 回答 1

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

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

于 2013-01-31T17:57:29.437 回答