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

-1 投票
1 回答
3349 浏览
提问于 2025-04-18 14:34

我正在学习如何使用正则表达式(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.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/>

这样我就只剩下9h7a2m了。

提前谢谢你。

1 个回答

3

这样做:

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

可以在这个正则表达式演示网站上查看匹配结果。

解释

  • 这个叫做“向后查找”的部分 (?<= ) 用来确认前面是一个空格字符。
  • \S+ 匹配一个或多个不是空格的字符(这就是我们要找的内容)。
  • 这个叫做“向前查找”的部分 (?= \S+$) 用来确认后面是一个空格,接着是一些不是空格的字符,最后是字符串的结束。

撰写回答