如何用alias-like在JavaScript中实现RegExp功能
ALIAS = [{pattern: /^ls[$ ]/, replace: 'ls --color '}]
s = 'ls /'
alias = function(t) {
for (var i = 0; i < ALIAS.length; i++) {
t = t.replace(ALIAS[i].pattern, ALIAS[i].replace)
}
return t
}
console.log(alias('ls'))
console.log(alias('ls /'))
console.log(alias('lsusb'))
console.log(alias('lsCPU'))不正确的产出:
~ ls
~ ls --color /
~ lsusb
~ lsCPU预期产出:
~ ls --color
~ ls --color /
~ lsusb
~ lsCPU发布于 2014-02-25 04:18:10
你的判罚是不正确的。/^ls[$ ]/匹配ls,后面是文字$或空格。$不是字符类[]中的锚。
您需要/^ls\b/,也就是说,ls后面跟着一个单词边界:
ALIAS = [{pattern: /^ls\b/, replace: 'ls --color'}]https://stackoverflow.com/questions/22004445
复制相似问题