如何用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
复制相似问题