我有一个关于正则表达式和 JavaScript 的问题。用户将获得以下模板作为文本的输入(它将根据用户的选择而变化),例如:
Accessories <accessory type> for a Group, for <What Purpose>
现在用户将修改输入文本,假设最终结果如下。
我的打印机的配件,适用于我的计算机
我想看看我是否可以从该文本中提取值,如果这种情况它将是“我的计算机”。有时我会完全修改文本,但我现在可以排除这个等式。
可以用正则表达式来完成吗?或者有什么东西或库可以帮助我解决这个问题吗?
感谢和问候,
最佳答案
var text = 'Accessories <accessory type> for a Group, for <What Purpose>';
var result = text;
var params =
{
'<accessory type>': 'of my printer',
'<What Purpose>': 'my computer'
};
var m = text.match(/<[^>]+>/g);
for(var i in m)
{
var re = new RegExp(m[i], 'g');
result = result.replace(re, params[m[i]]);
}
console.log(result);
演示:https://jsfiddle.net/ka4965uh/
结果: 我的打印机的配件,用于团体、用于我的计算机
关于javascript - 正则表达式 从模板中提取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37326742/