gpt4 book ai didi

javascript - RegExp 中的别名 ls ="ls --color"?

转载 作者:行者123 更新时间:2023-11-30 17:36:07 26 4
gpt4 key购买 nike

如何使用 RegExp 在 JavaScript 中实现类似于 alias 的功能?

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

最佳答案

您的正则表达式不正确。 /^ls[$ ]/ 匹配 ls 后跟文字 $ 或空格。 $ 不是字符类 [] 中的 anchor 。

你想要/^ls\b/,也就是ls后跟一个单词边界:

 ALIAS = [{pattern: /^ls\b/, replace: 'ls --color'}]

关于javascript - RegExp 中的别名 ls ="ls --color"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22004445/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com