繁体   English   中英

如何匹配给定字符串中的特定行

[英]how to match particular lines from a given string

我想从以下字符串中获取所有软件版本。

a = """LXE:1#sho software
************************************************************************************
                Command Execution Time: Mon Mar 16 10:33:29 2020 UTC
************************************************************************************

====================================================================================================
                    software releases in /usr/rel/
====================================================================================================
VS00.8.1.5.0int014
VO00.8.1.5.0int012 (Back Rel)
V900.8.1.5.0int017 (Prim Rel)

---------------------------------------------------------------------------------------------------- Commit     : enabled
Commit Time  : 10 minutes
"""

我希望输出为所有软件的列表,如下所示:

a = ['VS00.8.1.5.0int014','VO00.8.1.5.0int012 ','V900.8.1.5.0int017 ']

我试过下面的正则表达式,但它也匹配额外的行。

re.findall('[\w*\.\S*$\b]+',a)
['LXE:1#sho', 'software',
'************************************************************************************',
'Command', 'Execution', 'Time:', 'Mon', 'Mar', '16', '10:33:29', '2020', 'UTC',
'************************************************************************************',
'====================================================================================================',
'software', 'releases', 'in', '/usr/rel/',
'====================================================================================================',
'VS00.8.1.5.0int014', 'VO00.8.1.5.0int012', '(Back', 'Rel)', 'V900.8.1.5.0int017', '(Prim', 'Rel)',
'----------------------------------------------------------------------------------------------------',
'Commit', ':', 'enabled', 'Commit', 'Time', ':', '10', 'minutes']

如何修改我的正则表达式以匹配我需要的内容?

您的正则表达式错得令人困惑-我真的不确定您要实现的目标。 您可以使用像https://regex101.com/这样的网站来帮助您构建和测试正则表达式 - 它允许您查看参考并动态构建正则表达式以确保它符合您的预期。

关于您的要求,您可以将它与如下正则表达式匹配 - 如果您知道某些部分的长度以及它们将是什么字符,那么您可以大大提高效率。

re.findall(r"^V\S+\.\d+\.\d+\.\d+\.\S+", a)

可以在https://regex101.com/r/twCQQN/1上找到细分和功能证明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM