繁体   English   中英

在Python中使用正则表达式提取字符串

[英]Extract string using regex in Python

我在如何基于正则表达式提取(即分配给变量)字符串方面有些挣扎。 我已经解决了正则表达式-我在正则表达式上进行了测试。 但是我迷失了如何在Python中实际实现它。 我的正则表达式字符串是:

http://jenkins.mycompany.com/job/[^\s]+

我想做的是获取字符串,如果其中有一个与正则表达式匹配的模式,则将整个“模式”放入变量中。 因此,例如,给定以下字符串:

There is a problem with http://jenkins.mycompany.com/job/app/4567. We should fix this.

我想提取http://jenkins.mycompany.com/job/app/4567并为其分配一个变量。 我知道我应该使用re,但是我不确定我是否想要re.match或re.search以及如何获得想要的东西。 任何帮助或指针将不胜感激。

import re
p = re.compile('http://jenkins.mycompany.com/job/[^\s]+')
line = 'There is a problem with http://jenkins.mycompany.com/job/app/4567. We   should fix this.'
result = p.search(line)
print result.group(0)

输出:

http://jenkins.mycompany.com/job/app/4567.

使用re.findall方法选择字符串中的第一个找到的匹配项:

re.findall(pattern_string, input_string)[0] # pick the first match that is found

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM