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

时间:2014-07-24 08:41:52

标签: 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.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 个答案:

答案 0 :(得分:2)

这样做:

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

Regex Demo 中查看匹配项。

<强>解释

  • lookbehind (?<= )断言前面的是空格字符
  • \S+匹配一个或多个非空白字符(这是匹配)
  • 前瞻(?= \S+$)断言后面是空格,任何非空白字符和字符串的结尾