如何在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 个回答
3
这样做:
match = re.search(r"(?<= )\S+(?= \S+$)", subject)
if match:
result = match.group()
可以在这个正则表达式演示网站上查看匹配结果。
解释
- 这个叫做“向后查找”的部分
(?<= )
用来确认前面是一个空格字符。 \S+
匹配一个或多个不是空格的字符(这就是我们要找的内容)。- 这个叫做“向前查找”的部分
(?= \S+$)
用来确认后面是一个空格,接着是一些不是空格的字符,最后是字符串的结束。