我正在尝试对 findall() 使用正则表达式.我遇到的问题是模式中有未知数量的空白字符(空格、制表符、换行符、回车符)。
在下面的示例中,我想使用 findall()获取里面的文字 <D> </D>每当 </A>在 </D> 之后找到.我的问题是 </D> 之后有空格字符.
在下面的示例中,我需要检索 Second Text .我的正则表达式只适用于 </D> 之间没有空格的情况和 </A> .这是我尝试过的:
regex = '<D>(.+?)</D></A>'
<A>
<B> Text </B>
<D> Second Text</D>
</A>
请您参考如下方法:
如果你需要匹配</D>之间的空格和 </A> :
regex = r'<D>(.+?)</D>\s*</A>'
注意使用r'' python 中正则表达式的原始字符串文字,以避免普通字符串中需要的双重转义:
regex = '<D>(.+?)</D>\\s*</A>'
并制作.要匹配换行符,您可以使用 re.DOTALL匹配标志
