簡體   English   中英

正則表達式以減少函數參數之間的間隔

[英]Regular expression to reduce spaces between function parameters

我有一個程序在嘗試比較兩個文件。

文件1:

Void Function( Col1,
               Col2,
               Col3 )

檔案2:

Void Function(Col1,Col2,Col3)

我應該使用什么正則表達式刪除空格並在()之間輸入空格,因為我只想減少方括號之間的空格,而不是代碼中的其他任何地方。

這是有問題的。 任何純Java regex解決方案都必須妥協,因為要正確評估問題“我們在括號之間嗎?” 需要我們(在最壞的情況下,取決於您的輸入)來處理嵌套的括號,字符串內的文本或不應修改的注釋以及可能的其他邊緣條件。

請記住,一個簡單的解決方案至少可以在您的示例上使用(並且假定它不必處理嵌套的括號,注釋或字符串,並且不必檢查括號是否實際上屬於一個括號)。函數定義),可能是

String result = subject.replaceAll("\\s+(?=[^()]*\\))", "");

如果下一個圓括號是閉合圓括號,則它匹配並替換空白。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM