簡體   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