Regex в Python: найдите три числа с плавающей запятой перед "&" - PullRequest
0 голосов
/ 09 октября 2019

Я довольно неопытен с Regex и не могу создать подход с Regex в Python, который работает независимо от вариаций строк, считываемых в Python. У меня есть следующие строки, где слово - любая строка в символах:

; слово 1

слово ID 1, -10.2268800735474,11.54,1 &,

слово ID 1-10.2268800735474,11.54,1 &,

слово ID 1 -10.2268800735474,11.54,1 &

слово слово 1 -2,11,1 &

слово слово 1 35.21844, 35.94909,0.19633 34.84798,36.01114, -0.33727 34.60227,36.46051,0.18769 &

Что я хотел бы извлечь:

  1. Три числа с плавающей точкой перед "&", когдастрока заканчивается на «&» в списке.
  2. Когда строка НЕ ​​заканчивается на «&» И не начинается на «;», получите три числа с плавающей запятой до конца строки.

Для пояснения «&» указывает, что строка в текстовом файле, считываемая в другое программное обеспечение, является продолжением предыдущей строки. Когда он встречает строку, которая не заканчивается на «&» ИЛИ имеет пустую строку после строки, которая заканчивается на «&», он запускает новый процесс. Любые гуру, которые могут помочь?

1 Ответ

0 голосов
/ 09 октября 2019

Не берите в голову, пока я буду использовать следующее, пока у меня не будет времени, чтобы правильно реализовать Regex:

([- +]? [0-9] .? [0-9]+) (. [- +], [0-9] [0-9] +) (?.?. [- +]?.?. [0-9] * [0-9] +) (? = &)

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