Поиск по всем номерам - PullRequest
       3

Поиск по всем номерам

1 голос
/ 03 апреля 2012

Я хочу выделить все цифры (не однозначные!) В VIM:

  • все числа (где бы они ни находились в документе) с / без "."или ","
  • все числа (где бы в документе) с отрицательным значением

pe

8.20  
8,500
-2.40  
28.000.000  
1000,2 etc

"."или "," должен быть включен в выделение, если он находится внутри числа.
1, или 1. -> должен выделять только "1"
Также должны быть выделены отрицательные числа (включая "-"), но не перед другой цифрой перед" - ".

pe -5-6-7-8-9-10
должен выделить -5,6,7,8,9,10

Отрицательное число должно быть виднокак отрицательное число, а не как отрицательное и положительное число pe "-5" должно быть выделено как "-5", а не как "-5" и "5". Причина в том, что я копирую все совпадения и не хочучтобы найти два совпадения, где есть только число ("-5")

"- 5" должно быть выделено как положительное значение "5"

Я создал это регулярное выражение:

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

, но он выделяет отрицательные числа два раза (как отрицательное число и как число без "-")

1 Ответ

1 голос
/ 03 апреля 2012

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

Довольно странные требования, я думаю, что это все, что вы упомянули, но не уверены в том, что вы указали «--5» - значит ли это, что вы хотите, чтобы четное количество символов «-» не совпадало? Это не делает этого.

РЕДАКТИРОВАТЬ: Обновлено, чтобы запретить несколько - символов до числа. Не уверен, действительно ли это то, что вы хотите - рассмотрите, например, ---5.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...