我在如何根据正则表达式提取(即赋值给变量)一个字符串方面苦苦挣扎。我有正则表达式 - 我在regexpal上测试过。但我迷失在实际上如何在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以及如何获得我想要的东西。任何帮助或指示将不胜感激。
答案 0 :(得分:1)
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.
答案 1 :(得分:0)
尝试在字符串中找到第一个找到的匹配项,使用re.findall
方法选择第一个匹配项:
re.findall(pattern_string, input_string)[0] # pick the first match that is found