我有一个函数可以从传递给函数的字符串中提取特殊修饰符
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, "");
这可能吗?
答案 0 :(得分:4)
var re = new RegExp('(^\\' + anyVariable + '[\w\n]*)', 'g');
var command = String((txtInput.match(re || [""])[0]).replace(modifier, "");
使用RegExp构造函数允许您使用任何变量,因为它需要一个字符串作为输入。