如何在python中使用正则表达式提取值?

如何在python中使用正则表达式提取值?,python,regex,Python,Regex,我试图学习如何使用正则表达式使用python提取值 如何从此行中仅提取9h7a2m值: D:string-1.string2 15000 9h7a2m string3 更新代码: 另外,如何从以下内容中获取顶行: <p>D: string-1.string2 15000 9h7a2m string3.string<br/> D: string-1.string2 15000 9h7a2m string3.string<br/> D: string-1.stri

我试图学习如何使用正则表达式使用python提取值

如何从此行中仅提取9h7a2m值:

D:string-1.string2 15000 9h7a2m string3

更新代码:

另外,如何从以下内容中获取顶行:

<p>D: string-1.string2 15000 9h7a2m string3.string<br/>
D: string-1.string2 15000 9h7a2m string3.string<br/>
D: string-1.string2 15000 9h7a2m string3.string</p>
<p><span id="more-1203"></span></p>
<p>D: string-1.string2 15000 9h7a2m string3.string<br/>
D: string-1.string2 15000 9h7a2m string3.string<br/>
D: string-1.string2 15000 9h7a2m string3.string<br/>
D: string-1.string2 15000 9h7a2m string3.string<br/>
D:string-1.string2 15000 9h7a2m string3.string
D:string-1.string2 15000 9h7a2m string3.string
D:string-1.string2 15000 9h7a2m string3.string

D:string-1.string2 15000 9h7a2m string3.string
D:string-1.string2 15000 9h7a2m string3.string
D:string-1.string2 15000 9h7a2m string3.string
D:string-1.string2 15000 9h7a2m string3.string
所以我只剩下9h7a2m了

提前感谢。

请执行以下操作:

match = re.search(r"(?<= )\S+(?= \S+$)", subject)
if match:
    result = match.group()

match=re.search(r)(?字符串是否仅包含6个字符?请查看文档,那里有很多示例。问得好。有时值大于或小于6。如果可能的话,我正在寻找一种方法来获取最后2个空格之间的内容。您根本不需要正则表达式,
”D:string-1.string2 15000 9h7a2m string3.split()[-2]
=
9h7a2m
一个很好的尝试正则表达式的网站:仅供参考:添加了正则表达式演示和解释。@zx81使用“向前看”和“向后看”而不仅仅是匹配
”(\S+)\S有什么理由吗+$“
@mhawke是的,我写它是为了获得一个直接匹配,你建议的那个使用一个捕获组,我们将从组1中检索。这两种方法都是有效的。我将阅读更多关于它的内容,希望我能更好地使用regex。