2017-08-08 199 views
-1

我正在尋找一個匹配所有空格和換行符(\ s)但不匹配引號之間的空格(雙精度或簡單)的正則表達式。例如:不包含字符串的正則表達式空格

a = b //matches 2 whitespaces a*=*b 
a = "my test" // matches 2 whitespaces too a*=*"my test" (ignoring all whitespaces , lines breaks,etc between quotes.) 
a = "my test", a = b , c = "my another string " // matches 9 (excluding strings whitespace) 

任何幫助?

+0

?如果是這樣,它們可以嵌套嗎? – Gawil

+0

歡迎來到Stack Overflow。這不是一個代碼寫入服務。在發佈之前,您爲自己解決這個問題做了哪些努力? –

+1

你[錯了。這是我的網站。我是這裏的註冊用戶,並且用戶對此網站進行了調整。請花點時間參加[旅遊]並閱讀[幫助]頁面。你無法說出誰在這裏評論或回答你。再一次,*您在發佈之前先做了什麼努力來自己解決這個問題?* –

回答

0

以下的正則表達式應該很好地工作:
?![^"]*"(?:[^"]*"[^"]*")*$)

演示here

注意,正則表達式以空格開始,我沒有使用\s,所以它只能是空格,而不是製表或換行相匹配。
正則表達式意味着匹配任何沒有跟着奇數引號的空格。
另外,不要忘記你可以有多個對引號使用m標誌

相關問題