【问题标题】:Mongo Shell Support For Negative Lookbehind RegExpMongo Shell 支持 Negative Lookbehind RegExp
【发布时间】:2020-08-14 17:17:30
【问题描述】:

Mongo Shell 不支持负后视吗?示例:

'aaabbb'.replace(/(?<!a)b/g, 'X')

将前面没有a 的所有b 替换为X

浏览器控制台输出:

aaabXX

没错。但是,如果我将其放入 test.js 并执行 mongo &lt; ./test.js 我得到:

MongoDB shell version v3.4.23
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.23
2020-08-14T10:15:13.199-0700 E QUERY    [thread1] SyntaxError: invalid regexp group @(shell):1:17
bye

我找不到任何关于 Mongo shell 支持 ECMAScript 的确切文档……但它似乎不支持负面的后视(至少)。怎么回事?

【问题讨论】:

    标签: javascript regex mongodb shell negative-lookbehind


    【解决方案1】:

    它在新的 MongoDB Shell 中工作,

    Connecting to:      mongodb://127.0.0.1:27017
    Using MongoDB:      4.4.0
    Using Mongosh Beta: 0.1.0
    
    > 'aaabbb'.replace(/(?<!a)b/g, 'X')
    aaabXX
    

    有关 mongosh 的更多信息,请参阅 docsdownload,如果您在 macOS 上使用自制软件:

    $ brew tap mongodb/brew
    $ brew install mongosh
    

    我不知道为什么它在本地 CMD 中不起作用,我尝试在 web mongo shell v4.2.0 中但也不起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多