我有一个字符串
str="TMOUT=1800; export TMOUT"
我只想从上述字符串中提取TMOUT=1800
,但是1800
不是常数,它可以是任何整数值。例如TMOUT=18
或TMOUT=201
等。我对正则表达式非常陌生。
我尝试使用下面的代码
re.search("TMOUT=\d",str).
它不起作用。请帮助
答案 0 :(得分:4)
\d
与一位数字匹配。您要匹配一个或多个数字,因此必须添加一个+
量词:
re.search("TMOUT=\d+", text)
如果要提取数字,则必须使用括号()
创建一个组:
match = re.search(r"TMOUT=(\d+)", text)
number = int(match.group(1))
或者您可能要使用命名组语法(?P<name>)
:
match = re.search(r"TMOUT=(?P<num>\d+)", text)
number = int(match.group("num"))
我建议您使用regex101测试您的正则表达式,并解释它们的作用。另请阅读python's re
docs,以了解各种可用对象和函数的方法。