У меня есть следующий код:
currencies = ['USD', 'GBP', 'EUR', 'JPY', 'CHF', 'SEK', 'DKK', 'NOK', 'SGD', 'HKD', 'AUD', 'TWD', 'NZD', 'CNY', 'KRW', 'INR', 'CAD', 'VEF', 'EGP', 'THB', 'IDR', 'PKR', 'MYR', 'PHP', 'MXN', 'VND', 'CZK', 'HUF', 'PLN', 'TRY', 'ZAR', 'ILS', 'ARS', 'CLP', 'BRL', 'RUB', 'QAR', 'AED', 'COP', 'PEN', 'CNH', 'KWD', 'SAR']
exclusive_regexp = ".*\/" + ".*|.*\/".join(currencies) + ".*"
searching_regexp = "^(?! (" + exclusive_regexp + ")$)(.*\/.*)$"
searching_regexp = re.compile(searching_regexp)
with open('raw.txt', 'r') as unprocessed_ticks:
print(re.findall(searching_regexp, unprocessed_ticks.read()))
Должны быть найдены все строки, которые могут быть сопоставлены с созданным регулярным выражением.
Я исследовал сгенерированное регулярное выражение с помощью онлайн-инструмента regex101.com. это работает со вкусом питона. Но в реальном коде это ничего не соответствует:
https://regex101.com/r/70uiuE/7
Почему это может произойти?