Я пытаюсь использовать регулярное выражение для извлечения данных из селектора. Но я обнаружил, что каретка и знак доллара не работают, как я ожидал.
Я использовал .* для проверки знаков ^ и $, как показано ниже. Я думал, что две строки ниже должны возвращать одно и то же.
Но первый просто возвращает пустой список. А второй возвращает весь блок, как я и ожидал.
response.xpath('//script[contains(.,"reports")]/text()').re('^.*$')
response.xpath('//script[contains(.,"reports")]/text()').re('.*')





.* не включает новые строки и разрывы строк.
^ Соответствует началу строки или началу строки, если установлен многострочный флаг.
То же самое для $ - установлен флаг конца строки или конца строки в многострочном.
Для лучшего тестирования попробуйте выражение ^[\s\S]*$. Это будет включать любые символы между началом строки и концом строки.