gpt4 book ai didi

python : Regular expression

转载 作者:太空宇宙 更新时间:2023-11-03 18:42:24 27 4
gpt4 key购买 nike

我有以下代码可以执行我想要的操作,从该命令的结果中检索包名称:

命令:

dpkg --get-selections | grep amule

要分析的字符串:

string = 'amule\t\t\t\t\t\tinstall\namule-common\t\t\t\t\tinstall\namule-utils\t\t\t\t\tinstall\n'

代码:

pattern = re.compile(r"[a-z](.*)\w*(?=([\\\t]*install))")
matches = re.finditer(pattern, result[0])

for match in matches:
plist.append(match.group().strip())

结果:

plist = ['amule', 'amule-common', 'amule-utils']

但我想优化代码,不使用 strip 函数并仅使用正则表达式获得相同的结果。但到目前为止,我无法摆脱所有的 '\t',即使在 'install' 字符串之前使用 '+'、'*' 或 {n} 也是如此。任何想法 ?

谢谢

最佳答案

您应该能够通过使用 re.M 标志(多行)轻松完成此操作。

“([\w\-]+)\s*install”,re.M

像这样:

match = re.search(r"([\w\-]+)\s*install", re.M)
if match:
plist = match

请参阅此处的工作示例:http://regex101.com/r/jE0dL8

关于 python : Regular expression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20257655/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com