V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
praynise
V2EX  ›  程序员

正则小白求教一个正则表达式…

  •  
  •   praynise · May 25, 2018 · 2848 views
    This topic created in 2895 days ago, the information mentioned may be changed or developed.
    请问如何按照空格分割一串字符,但是引号内的空格不在分割范围内?
    例如:cmd="df -h" login=true 想分割成 cmd="df -h" 和 login=true 而不想分割成 cmd="df 和 -h" 和 login=true,谢谢大家
    7 replies    2018-05-26 00:42:30 +08:00
    runnerlee
        1
    runnerlee  
       May 25, 2018
    ```
    /[a-zA-Z0-9]+=[\'"]?[^'"]*[\'"]?/
    ```

    这样可以不?
    LadyChunsKite
        2
    LadyChunsKite  
       May 25, 2018
    不用正则,写代码:一个空格前面有偶数个引号,就可以拆分。奇数个引号,就不拆分。
    LadyChunsKite
        3
    LadyChunsKite  
       May 25, 2018   ❤️ 1
    @runnerlee

    文本假如是这样的,你的方法就挂了,你对引号的判断,至少要是同时出现,或者都不出现:

    cmd="df -h" login=true cmd="df -h" login=true
    qfdk
        4
    qfdk  
    PRO
       May 25, 2018 via iPhone
    split('" ') 就好了按照双引号 空格分割
    runnerlee
        5
    runnerlee  
       May 25, 2018
    @LadyChunsKite 的确, 感谢指出
    bkqzjr
        6
    bkqzjr  
       May 25, 2018
    / (?!.+")/g
    faketemp
        7
    faketemp  
       May 26, 2018 via iPhone
    (.+?)(?<=”)\s(.+?)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4421 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 05:31 · PVG 13:31 · LAX 22:31 · JFK 01:31
    ♥ Do have faith in what you're doing.