V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Newyorkcity
V2EX  ›  问与答

请教一个正则表达式问题

  •  
  •   Newyorkcity · 2020-02-02 17:15:18 +08:00 · 1383 次点击
    这是一个创建于 1790 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我现在有个需求,一篇文档里,我希望把钱这个字着重表示,所以我希望所有的钱都变成『钱』, [钱] 之类的。。

    但如果使用正则表达式替换


    [钱]

    那么已经替换过的
    [钱] 也会被变成 [ [钱] ]

    我希望能够直接按着回车按它个爽,而不想按一个回车看一看是不是开始改改过的了。。。该如何写呢?

    谢谢?
    6 条回复    2020-02-02 20:26:37 +08:00
    2wex
        1
    2wex  
       2020-02-02 17:22:16 +08:00   ❤️ 1
    简单的方法是:
    先把 [钱] 换成 钱 ,再把 钱 换成 [钱]

    用正则就
    (?<!\[)钱(?!\])
    akazure
        2
    akazure  
       2020-02-02 17:33:04 +08:00 via Android
    为什么不把[钱]变回钱,然后再改成[钱]了?
    Newyorkcity
        3
    Newyorkcity  
    OP
       2020-02-02 19:53:50 +08:00
    @2wex
    @akazure
    额 我意思没有表达清除 两位想啊 现在文本里没有 [钱] 只有 钱
    而我按着回车进行着替换 文本中的 钱 才变成了 [钱]
    现在有了 [钱] ,但因为我是按着回车不松手的,爽啊 很有可能替换完一轮后从头开始第二轮替换了但我还没注意到

    我想解决的是这个问题
    nlysh007
        4
    nlysh007  
       2020-02-02 20:04:27 +08:00 via Android
    全部替换不就行了,为啥要一个个回车…
    Newyorkcity
        5
    Newyorkcity  
    OP
       2020-02-02 20:07:39 +08:00
    @nlysh007 啊? vscode 有这功能?
    ovie
        6
    ovie  
       2020-02-02 20:26:37 +08:00   ❤️ 1
    @Newyorkcity Ctrl + H, 有个 Replace All 按钮
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2796 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 07:08 · PVG 15:08 · LAX 23:08 · JFK 02:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.