[英]find substring between “a” and “(” + 2 unknown characters +“)”
I have some strings which are built this way:我有一些这样构建的字符串:
string = "blabla y the_blabla_I_want (two_digits_number) blabla"
I would like to get the_blabla_I_want.我想得到the_blabla_I_want。 I know the
re.search
can help but my problem is about how to represent (two_digits_number)
.我知道
re.search
可以提供帮助,但我的问题是如何表示(two_digits_number)
。
To represent (two_digits_number)
, you may use "\([0-9]{2}\)"
.要表示
(two_digits_number)
,您可以使用"\([0-9]{2}\)"
。
Here is a regex tutorial in python.这是 python 中的正则表达式教程。
To get the_blabla_I_want
, you may try the following code:要获得
the_blabla_I_want
,您可以尝试以下代码:
import re
x = re.search("y (.*) \([0-9]{2}\)", str)
x[1]
Depends on how you define the two digits number, yo may want to change "\([0-9]{2}"
to "\([1-9][0-9])"
to avoid numbers have leading zero取决于您如何定义两位数字,您可能需要将
"\([0-9]{2}"
更改为"\([1-9][0-9])"
以避免数字有前导零
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.