gpt4 book ai didi

python - 在python正则表达式中提取字符串的子字符串

转载 作者:行者123 更新时间:2023-12-01 06:31:35 26 4
gpt4 key购买 nike

我有一个结构化字符串流。我想用 Python 语言从其中每个部分中提取 2 个特定部分。

For example) my Strings are looking like these:

cpe:2.3:a:troglobit:uftpd:*:*:*:*:*:*:*:*

cpe:2.3:o:google:android:8.0:*:*:*:*:*:*:*

cpe:2.3:a:microsoft:asp.net_core:2.1:*:*:*:*:*:*

I need the BOLD sections only.

请注意,最终 * 的数量在每种情况下都是不同的(在 6、7、8 之间)。此外,字符串可以以 cpe:2.3:o:cpe:2.3:a:

开头

我尝试过不同的表达方式,例如:

例如,这个适用于末尾只有 6 * 的情况。

try:
temp = re.search("cpe:2.3:a:(.*):\*:\*:\*:\*:\*:\*",testString).group(1)
except AttributeError:
temp = 'NOT FOUND'

或者

(不起作用)

try:
temp = re.search("(cpe:2.3:a:(.*)|cpe:2.3:o:)(.*)(:\*:\*:\*:\*:\*:\*:\*:\*|:\*:\*:\*:\*:\*:\*:\*|:\*:\*:\*:\*:\*:\*)", testString).group(1)
except AttributeError:
temp = 'NOT FOUND'

或者

(不起作用)

 try:    
temp = re.search("(cpe:2.3:a:(.*):(.*))':{0}'$", testString).group(1)
except AttributeError:
temp = 'NOT FOUND'

谢谢。

最佳答案

无需正则表达式即可完成此操作

sample = 'cpe:2.3:a:microsoft:asp.net_core:2.1:*:*:*:*:*:*'

' '.join(sample.split(':')[3:][:2])

'microsoft asp.net_core'

关于python - 在python正则表达式中提取字符串的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59886343/

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