搜索所有数字

时间:2012-04-03 10:51:58

标签: regex search vim numbers

我想在VIM中突出显示所有数字(不是单个数字!):

  • 所有数字(文件中的任何地方)有/无“。”或“,”
  • 具有负值的所有数字(文档中的任何位置)

体育专业。

8.20  
8,500
-2.40  
28.000.000  
1000,2 etc

“。”如果在数字范围内,则必须将“,”包含在突出显示中 1,或1. - >必须只突出“1” 此外,必须突出显示负数(包括“ - ”),但在“ - ”之前有另一个数字时则不会。

体育专业。 -5-6-7-8-9-10
必须突出-5,6,7,8,9,10

负数必须被视为负数而不是负数和正数p.e. “-5”必须突出显示为“-5”而不是“-5”和“5” 原因是我复制了所有比赛并且不想找到只有数字(“-5”)的两场比赛

“ - 5”必须突出显示为正值“5”

我创建了这个正则表达式:

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

但它会强调负数两次(负数和没有“ - ”的数字)

1 个答案:

答案 0 :(得分:1)

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

非常奇怪的要求,我认为这是你提到的一切,但不确定你的' - 5'规定 - 这是否意味着你想要偶数个' - '字符不匹配?这不是那样的。

编辑:已更新为在号码前禁止多个-个字符。不确定这是否真正符合您的要求 - 例如,请考虑---5