搜索

2012-04-03 56 views
1

我想強調所有的數字(不是單一的數字!)在VIM所有數字:搜索

  • 所有號碼(無論在文件),有/無「」或 「」
  • 的所有數值(無論在文件)與負值

體育

8.20 
8,500 
-2.40 
28.000.000 
1000,2 etc 

「。」或「,」必須包含在突出顯示中,如果在一個數字內。
1或1 - >必須僅突出顯示「1」
此外,負數必須高亮顯示(包括「 - 」),但當「 - 」之前有另一個數字時,則不需要高亮顯示。

p.e. -5-6-7-8-9-10
必須突出顯示-5,6,7,8,9,10

必須將負數視爲負數,而不是負數,正數pe 「-5」必須突出顯示爲「-5」而不是「-5」和「5」 原因是我複製所有匹配,並且不希望找到只有數字的兩個匹配(「 - 」 5" )

‘--5’必須強調爲正值‘我創造了這個正則表達式5’

\%(\d\)\@<![-]*\d\{1,}\([.,]\d\+\)* 

,但它突出負數兩次(如負數和沒有「 - 」的數字)

+0

做'[ - ]'而不是'-'沒有價值。這是一個單一的原子無論哪種方式。至於後面的'*',你確實想要'--- 1'被突出顯示? – 2012-04-03 11:12:07

+0

克里斯,在上面的例子-5-6-7-8-9-10它必須高亮-5,6,7,8,9,10而不是6,7,8,9,10之前的點。 「--- 1」沒有被強調爲負值而是「1」。 – Reman 2012-04-03 11:38:28

+0

然後,'[ - ] *'應該是' - \?'。 – 2012-04-03 11:59:37

回答

1

\%([0-9-]\@<!-\)\?\d[0-9,.]*

很奇怪的要求,我認爲這是你提到的一切,但不確定你的' - 5'規定 - 這是否意味着你想要偶數個' - '字符不匹配?這並不是那樣做的。

編輯:更新爲禁止數字前的多個-個字符。不知道這是否真的是你想要的 - 例如---5

+0

正如您已經指出的那樣,它在數字之前選擇了全部「 - 」。不完全是我想要的。 – Reman 2012-04-05 07:03:15

+0

那你到底想要什麼?偶數個' - '不匹配?只有2? – 2012-04-05 07:23:26

+0

請看我的第一條消息。在一個數字之前多出一個「 - 」是一個正數。只有當號碼前有一個「 - 」號碼和「 - 」號碼前沒有數字時,號碼纔是負數。 (我希望我現在明確自己:)) – Reman 2012-04-05 07:52:00