我有一些这样构建的字符串:
string = "blabla y the_blabla_I_want (two_digits_number) blabla"
我想得到the_blabla_I_want。
我知道re.search
可以提供帮助,但是我的问题是如何代表(two_digits_number)
。
答案 0 :(得分:1)
要代表(two_digits_number)
,可以使用"\([0-9]{2}\)"
。
这里是python中的regex tutorial。
要获取the_blabla_I_want
,您可以尝试以下代码:
import re
x = re.search("y (.*) \([0-9]{2}\)", str)
x[1]
取决于您如何定义两位数字,您可能希望将"\([0-9]{2}"
更改为"\([1-9][0-9])"
,以避免数字前导零
答案 1 :(得分:0)
string = "blabla y the_blabla_I_want (99) blabla"
if string.count("(") == 1 and string.count(")") == 1:
start_idx = string.find("(")
end_idx = string.find(")")
two_digits_number = string[start_idx+1:end_idx]
print(two_digits_number) # output: 99
two_digits_number = string[start_idx:end_idx+1]
print(two_digits_number) # output: (99)