正则表达式取反不起作用Python

时间:2019-02-19 20:04:44

标签: python regex regex-negation

因此,即使我使用()将其包装起来,我也试图拒绝该模式,但它无法正常工作。我认为它与锚点混合在一起,但是我找不到解决该问题的方法。我检查了其他问题,但没有找到针对特定问题的解决方案:/

想法是仅获取与纬度/经度数字序列不匹配的情况。

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

data

1 个答案:

答案 0 :(得分:1)

我建议使用您的模式分割字符串:

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 demo

如果出现任何空白项目,例如匹配项出现在字符串的开头/结尾,请使用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']

请参见another Python demo