[英]Regular expression to check whitespace in the beginning and end of a string
[英]Regular Expression Python, marking beginning and end of string?
因此,我今天才刚开始使用regex来使用python,但似乎无法正常工作。
所以我有字符串
"2800 Software (C2800NM-ADVIPSERVICESK9-M), Version 12.4(24)T8, RELEASE SOFTWARE (fc1)"
这是cisco路由器的一些输出,我需要提取版本号。 版本号是“版本”之后的字符串,并以“,”结尾。 我是否可以编写一个正则表达式来根据每次出现在“ Version”之前和之后的“,”立即提取版本号? 我只需要拉“ 12.4(24)T8”,其他路由器的编号完全不同即可。
如果您试图从单个字符串中提取版本,则可以使用re.search()
来完成。
>>> import re
>>> s = '2800 Software (C2800NM-ADVIPSERVICESK9-M), Version 12.4(24)T8, RELEASE SOFTWARE (fc1)'
>>> re.search(r'\bVersion\s*([^,]+)', s).group(1)
'12.4(24)T8'
如果您需要提取多个字符串,请使用re.findall()
>>> re.findall(r'\bVersion\s*([^,]+)', s)
['12.4(24)T8']
说明:
\b # the boundary between a word character (\w) and not a word character
Version # 'Version'
\s* # whitespace (\n, \r, \t, \f, and " ") (0 or more times)
( # group and capture to \1:
[^,]+ # any character except: ',' (1 or more times)
) # end of \1
Version\s*(\S+?),
试试这个,使用match.group(1)获得结果。
或者您可以使用它。
print re.findall(r"Version\s*(\S+?),",x)
或者您可以使用它。
print re.search(r"Version\s*(\S+?),",x).group(1)
参见演示。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.