Perl也有一些很好的和简单的函数的返回值设置为一个变量Python的正则表达式得到从字符串返回值
if($string =~ /<(\w+)>/){
$name = $1;
}
这是我尝试了Python和它的工作原理,但没有任何替代这样做的方式?
if re.match('\s*<\w+>.+', string):
var = re.findall('>(\w+)<', string)
Perl也有一些很好的和简单的函数的返回值设置为一个变量Python的正则表达式得到从字符串返回值
if($string =~ /<(\w+)>/){
$name = $1;
}
这是我尝试了Python和它的工作原理,但没有任何替代这样做的方式?
if re.match('\s*<\w+>.+', string):
var = re.findall('>(\w+)<', string)
希望这是你在寻找什么:
string = "id: 10"
match = re.search("id: (\d+)", string)
if match:
id = match.group(1)
print id
无论您需要什么,你有可能Python re doc一切。
耶右一为我,谢谢 – Pythonizer
你不需要做match
其次findall
,findall
会返回一个空列表时,有没有匹配:
>>> string = 'sdafasdf asdfas '
>>> var = re.findall('>(\w+)<', string)
>>> var
[]
所以,你可以这样翻译您Perl
例如:
try: name = re.findall('>(\w+)<', string)[0]
except IndexError: name = 'unknown'
我不认为你的正则表达式会匹配任何东西。它们都相互矛盾。
这是你会怎么做Python中的比赛:
import re
string = "string"
matches = re.match('(\w+)', string)
print matches.group()
您应该添加'。集团(0)'的'var'行结束 – sshashank124