我將如何編寫正規表示式來執行查找/替換操作,以便在 20 位數字長的數字的 10 位數字後面添加空格?
我有一長串電話號碼,其中一些號碼意外長了 20 位,我需要在每個號碼之間添加一個空格。
編輯:我嘗試了\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d 來選擇20 位數字,但將其替換為空格只會將所有 20 位數字替換為空白,而不是在 10 位數字後插入空格。
我正在嘗試在 MacBook Pro 上使用 Sublime Text 來執行此操作。
答案1
你需要使用捕獲組如果您想在保留原始字串的組成部分的同時執行替換操作。
你的正規表示式將遵循以下內容:
圖案: "^([\d]{10})([\d]{10})" //two groups of 10
代替: "$1 $2"
每個模式周圍的括號表示十個區塊,定義一個捕獲組。所以我們說,「前 10 位數字在 $1 組中,後 10 位數字在 $2 組中」。然後我們只需說「列印組 1,新增一個空格,然後列印組 2」。
請注意,每個平台的正規表示式語法和替換語法都不同。許多人使用$number
(如 sed),其他人使用\number
(如 notepad++),因此請務必查閱您的產品的文檔。