首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >别名ls="ls --color“在RegExp中?

别名ls="ls --color“在RegExp中?
EN

Stack Overflow用户
提问于 2014-02-25 04:15:42
回答 1查看 71关注 0票数 1

如何用alias-like在JavaScript中实现RegExp功能

代码语言:javascript
运行
复制
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'))

不正确的产出:

代码语言:javascript
运行
复制
~ ls
~ ls --color /
~ lsusb
~ lsCPU

预期产出:

代码语言:javascript
运行
复制
~ ls --color
~ ls --color /
~ lsusb
~ lsCPU
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-25 04:18:10

你的判罚是不正确的。/^ls[$ ]/匹配ls,后面是文字$或空格。$不是字符类[]中的锚。

您需要/^ls\b/,也就是说,ls后面跟着一个单词边界:

代码语言:javascript
运行
复制
 ALIAS = [{pattern: /^ls\b/, replace: 'ls --color'}]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22004445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档