正则表达式在python中的子字符串后面找到一个数字

时间:2015-06-18 18:12:07

标签: python regex

我有这个字符串:

string = "TIC_signal_12 ((task)(0))"

通过使用正则表达式,我想得到数字,但只是在“(任务)”子字符串之后,但我不知道如何构建表达式

2 个答案:

答案 0 :(得分:1)

使用\D*匹配非数字字符。

>>> import re
>>> string = "TIC_signal_12 ((task)(0))"
>>> re.search(r'\(task\)\D*(\d+)', string).group(1)
'0'

答案 1 :(得分:0)

使用正则表达式有很多方法可以做到这一点。

这是一个带有后视的

import re

string = r"TIC_signal_12 ((task)(0))"
pattern = r"(?<=TIC_signal_12 \(\(task\)\()\d+"


task_number = re.search(pattern, string)

if task_number:
    print(task_number.group(0))

确保在使用之前检查task_number是否为None。如果找不到该字符串,则task_number将为None,如果您未检查None

,则会引发异常