python - 从搜索模式中排除空格

标签 python regex

我正在尝试对 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/

相关文章:

c# - 使用正则表达式检查字符串中的特定字符

python - 在多线程环境中重用本地对象

python - 将 2 个列表汇总到另一个列表中

python - 如何向量化一个参数为numpy中向量的函数

python - 用于桌面应用程序的 Django ORM

java - 相同的正则表达式搜索结果在 C++ 和 Java 中不同

用于匹配总共 x 位数字的正则表达式,其中 x 位数字中,最多 y 可以位于小数点后

regex - 使用正则表达式和反向匹配,并将其通过管道传递给另一个命令

python - 不重新编译的不区分大小写的正则表达式?

python - zipimport.ZipImportError : can't decompress data; zlib not available