我正在使用搜索並替換支持正則表達式的高級文本編輯器。用字符串+數字替換數字+字符串(使用正則表達式)
現在我想更換 ##,## - 與 - ##,##(其中##,##代表任意數字)
任何幫助什麼搜索和替換我需要用來實現這個的表達式?
E.g. \ d-只會取代-本身。
我正在使用搜索並替換支持正則表達式的高級文本編輯器。用字符串+數字替換數字+字符串(使用正則表達式)
現在我想更換 ##,## - 與 - ##,##(其中##,##代表任意數字)
任何幫助什麼搜索和替換我需要用來實現這個的表達式?
E.g. \ d-只會取代-本身。
不知道高級文本編輯器中的替換語義是什麼,但您可能希望使用分組來進行替換。像
(\d+)(,?)(\d+)-
東西會匹配$ 1模式和假設的東西相匹配的組(括號之間的位),然後
-$1$2$3
應該足夠了,其中$2
匹配的(我猜可選) ''。
儘管你的正則表達式將'','標記爲可選的,它至少需要一個數字在*和*之前至少有一位數字,即使沒有逗號,也需要至少兩位數字。我懷疑這是故意的。另外 - 不需要有三個獨立的捕捉組。用' - $ 1'代替'(\ d +,?\ d +) - '會產生同樣的效果。 – ruakh 2015-02-08 21:54:42
工程就像一個魅力,美妙。 – TobiasH 2015-02-08 22:12:52
偉大的觀點@ruakh - 完全同意 – cristobalito 2015-02-09 20:21:57
小心說哪個'高級文本編輯器'? – cristobalito 2015-02-08 20:59:19
您可以在更換前後發佈一些線條示例嗎? (「任何數字」都非常模糊,我假設你*希望'1-'改爲'-1',並且*不希望'one-'改成'-one',但是有很多情況在那裏我不知道你是否希望他們改變。) – ruakh 2015-02-08 20:59:57
@ruakh對不起,沒有提到我正在尋找一個柱子,所以我只處理數字。 (我的意思是說任何數字)壞英語 - 沒有母語的人;)在任何情況下,克里斯托波利托解決方案都做詭計 – TobiasH 2015-02-08 22:17:32