Regex 抓取除双引号内的空格以外的所有空格

Regex 抓取除双引号内的空格以外的所有空格,regex,Regex,我需要选择除双引号内的空格以外的所有空格 “常数12”< /代码>中的那些空白-考虑这个代码示例是我的整个输入字符串: function void test ( ) { if ( false ) { let s = "constant one two" ; let s = null ; let a [ 1 ] = a [ 2 ] ; } } 我尝试了很多正面和负面展望的选项,但都没

我需要选择除双引号内的空格以外的所有空格

<对于下面的输入,我需要选择所有的空白,除了在代码>“常数12”< /代码>中的那些空白-考虑这个代码示例是我的整个输入字符串:

function void test (  )   {   
    if  ( false )   { 
        let s  =  "constant one two" ; 
        let s  =  null ; 
        let a [ 1 ]   =  a [ 2 ]  ; 
     } 
 } 
我尝试了很多正面和负面展望的选项,但都没有成功。

使用

\s(?=([^"]|"[^"]*")*$)
看。它匹配任何后跟零个或多个字符的空格,而不是双引号或双引号之间的子字符串

或者,如果可能,使用PCRE模式:

"[^"]*"(*SKIP)(*F)|\s

看。它匹配引号之间的任何子字符串并删除匹配项,否则,它将匹配引号之外的空格。

这是从建议的重复中派生出来的:我认为这些类型的问题被问得太频繁,只是有一些小的改动。请看“选择所有空白”是什么意思?你想要什么样的方式?你想用它们做什么?对我来说,你问了半个问题,也就是说,你暗示了你真正的问题,但说得还不够。为什么这不能回答你的问题@尼克:非常感谢你,这一次成功了。