使用正则表达式从python中的字符串中搜索子字符串+整数

时间:2018-08-20 13:39:44

标签: python

我有一个字符串 str="TMOUT=1800; export TMOUT"

我只想从上述字符串中提取TMOUT=1800,但是1800不是常数,它可以是任何整数值。例如TMOUT=18TMOUT=201等。我对正则表达式非常陌生。

我尝试使用下面的代码

re.search("TMOUT=\d",str). 

它不起作用。请帮助

1 个答案:

答案 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,以了解各种可用对象和函数的方法。