我一直在摔跤我正在希望用正則表達式解決的問題。正則表達式除去括號之間的所有空格
比方說,我有一個字符串,可以包含任何字母數字,並且可能包含方括號內的子字符串。這些子字符串可以像這樣出現在字符串中的任何位置。也可以有任意數量的括號子字符串。
實例:
- AAA [BB B]
- AAA [BBB] CCC [d DD]
- [AAA] BBB並[c CC]
可以看到在一些括號內的子字符串中有空格,沒關係。我的主要問題,現在的問題是,當我遇到空間這樣的支架之外:
- 一節AA [BB B]
現在我要保留括號內的空間,但在其他地方刪除。
這就會變得稍微有點棘手像字符串:
- 一節AA [BB B](閉杯)[d DD]éEE [F FF]
在這裏,我想回報爲:
- AAA [BB b] CCC [d DD] EEE [F FF]
我花了一些現在可以通過關於lookaround,negative assertions等不同章節的不同閱讀方式閱讀這些內容,並且它讓我的頭腦旋轉起來。
注意:對於訪問此的任何人,我沒有尋找任何涉及嵌套括號的解決方案。如果是這種情況,我可能會像下面提到的一些評論一樣務實地做。
+1回答實際的問題:如何執行*這個任務*(即沒有嵌套)*用正則表達式*。 – 2009-07-31 02:42:10
太棒了,謝謝。我有點接近,但我無法處理過去兩套括號內的子串。我不需要嵌套括號(phew!)。 – seano 2009-07-31 13:48:00
的「| $」末需要的情況下,你的字符串是像「一節AA [BB B](閉杯)[d DD]éEE [F FF; G GG」,擺脫之間的空間的克氏。他們沒有跟隨他們,所以你也想檢查字符串的結尾('$')。你是對的,第一個字符類中的'[''不是必需的。這是因爲'。*?b'基本上與'[^ b] * b'相同,只要這是正則表達式的結尾。在我使用'?'之前,這只是我在寫作時留下的。字符。但有趣的是,'。+?b'與'[^ b] + b'不同。 – Senseful 2009-07-31 15:29:38