大佬教程收集整理的这篇文章主要介绍了python正则表达式在表达式后全选,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试进行正则表达式搜索,以获取 expressio 之后的所有文本。
我使用 (?<=%([\s\S]*?):\s).*$
正则表达式,但在 python 中它不起作用。
示例:
group-6-54574
是动态文本。
@H_568_5@may 12 2021 11:07:56 %group-6-54574: some text that i need
返回:
some text that i need
主要条件:
选择所有文本 beetwen %
和 :/s
Python re
不支持后视断言中的无限长度量词。
如果您有 PyPi regex module,则可以使用该模式,并省略捕获组。
import regex
pattern = r"(?<=%[\s\S]*?:\s).*$"
s = ("group-6-54574 - it is a dynamic text\n\n"
"May 12 2021 11:07:56 %group-6-54574: some text that i need")
print(regex.findall(pattern,s))
输出
['some text that i need']
使用 re
,您可以使用捕获组而不是后视。
%[\s\S]*:\s(.+)
Regex demo
import re
pattern = r"%[\s\S]*:\s(.+)"
s = ("group-6-54574 - it is a dynamic text\n\n"
"May 12 2021 11:07:56 %group-6-54574: some text that i need")
print(re.findall(pattern,s))
输出
['some text that i need']
更严格的模式可能是使用否定字符类 [^%:]
来防止一些跟踪
%[^%:]*:\s(.+)
Regex demo
以上是大佬教程为你收集整理的python正则表达式在表达式后全选全部内容,希望文章能够帮你解决python正则表达式在表达式后全选所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。