我正在尝试使用正则表达式从选择器中提取数据。但我发现插入符号和美元符号不符合我的预期。
我正在使用。*测试^和$符号,如下所示。我认为以下两行应该返回相同的内容。
但是第一个只返回一个空列表。第二个返回了我期望的整个块。
response.xpath('//script[contains(.,"reports")]/text()').re('^.*$')
response.xpath('//script[contains(.,"reports")]/text()').re('.*')
答案 0 :(得分:0)
.*
不包括新行和换行符。
^
匹配字符串的开头,如果设置了多行标志,则匹配行的开头。
与$
相同-设置了多行标记中的字符串结尾或行尾。
为获得更好的测试,请尝试使用^[\s\S]*$
表达式。这将包括字符串开头和结尾之间的所有符号。