我有要求從已編號的段落移除縮進。我目前使用一些正則表達式和一些代碼來做到這一點,但是想用一個或多個正則表達式來完成它。該段看起來像這樣:去除縮進的正則表達式
1. THE FIRST LINE OF THE PARAGRAPH
ANOTHER LINE IN THE PARAGRAPH
AN INDENTED LINE WITHIN THE PARAGRAPH
這需要被變換以保持段內的縮進,但是作爲由第一行的縮進測量移除整個段落的縮進。
THE FIRST LINE OF THE PARAGRAPH
ANOTHER LINE IN THE PARAGRAPH
AN INDENTED LINE WITHIN THE PARAGRAPH
以下正則表達式通過用空字符串替換匹配來完成任務。 (注意,沒有標籤有望在這個內容,只是空格):
(\A *\d+\. *|^ {0,5})
但它要求的字符的縮進長度明確設置。我想要一個通用的方法來處理任何縮進長度。關於一個或多個正則表達式(累積應用)如何實現這一點的任何想法?
我正在使用啓用了多行模式的.NET正則表達式引擎。
表達式的右側|匹配從行首開始的0到9個空格。我想你也許沒有看到這個空間?您的表達式會刪除每行之前的所有空格,但不會保留第三行的縮進。儘管感謝您的幫助。 – user3565980 2015-01-19 20:36:52
我剛剛意識到我的解決方案使用'9'的字面值並不是我的意圖 - 應該是'4'。爲了清晰我糾正了這一點。 – user3565980 2015-01-19 20:41:37
啊哈,我看到了麻煩 - 當我們在一個非編號的線上遇到一場比賽時,我們不知道要移除多少空間(基於較早的比賽)。我不明白只有正則表達式纔有可能。 – 2015-01-19 20:43:10