регулярные выражения Отрицание не работает Python - PullRequest
0 голосов
/ 19 февраля 2019

Итак, я попытался отрицать этот шаблон, но он не работает, даже если я обернул его ().Я предполагаю, что это смешивает это с якорем, но я не могу найти способ обойти эту проблему.Я проверял другие вопросы, но не нашел решения для своей конкретной проблемы: /

Идея состоит в том, чтобы получить только те случаи, которые не соответствуют числовым последовательностям широты / долготы.

[i for i in [re.findall(r"^\-?[0-9]+\.[0-9]+", string) for string in real_state['latitude']]]

данные

1 Ответ

0 голосов
/ 20 февраля 2019

Я предлагаю разделить строку с вашим шаблоном:

import re
s = "Text: 0.12345 and -12.34433 and more to come"
results = re.split(r"\s*-?[0-9]+\.[0-9]+\s*", s)
print(results)

См. Демо Python .

В случае появления каких-либо пустых элементов, как в случаях, когдасовпадения появляются в начале / конце строки, удалите их с помощью filter:

import re
s = "0.12345 and -12.34433 and more to come 0.54321 and -27.87654"
results = re.split(r"\s*-?[0-9]+\.[0-9]+\s*", s)
# print(results)                   # => ['', 'and', 'and more to come', 'and', '']
print(list(filter(None, results))) # => ['and', 'and more to come', 'and']

См. еще одну демонстрацию Python .

...