我正在尝试对 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匹配标志
关于python - 从搜索模式中排除空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34979541/