Python 把字符串放在括号里
我想获取方括号内的字符串,它作为数组给出Python 把字符串放在括号里,python,regex,string,Python,Regex,String,我想获取方括号内的字符串,它作为数组给出 u16 arrayName_1[8][7] 我有python代码,它可以找到一维数组并获得方括号内的字符 var = 'u16 arrayName_1[8]' index = re.split('\[(.*?)\]', str(var)) 索引[0]将给出“u16 arrayName_1” 索引[1]将给出“8” 问题: 我想把字符串放在2D数组的括号内。我尝试下面的代码,但它不是理想的结果 var = u16 arrayName_1[8][7] i
u16 arrayName_1[8][7]
我有python代码,它可以找到一维数组并获得方括号内的字符
var = 'u16 arrayName_1[8]'
index = re.split('\[(.*?)\]', str(var))
索引[0]将给出“u16 arrayName_1”
索引[1]将给出“8”
问题:
我想把字符串放在2D数组的括号内。我尝试下面的代码,但它不是理想的结果
var = u16 arrayName_1[8][7]
index= re.split('(\[.*\])$', str(var))
索引[0]将给出“u16 arrayName_1”
索引[1]将给出“[8][7]”。这是错误的结果
我希望输出像:
索引[1]=“8”
索引[2]=“7”您可以在中使用自己的模式来获取
[…]中的所有内容。
:
import re
var = 'u16 arrayName_1[8][7]'
index = re.findall(r'\[(.*?)\]', var)
print(index) # => ['8', '7']
看
要仅匹配内部数字,请使用
\[([0-9]+)]
regex。此外,您不必在字符类之外逃出<代码> >代码>符号,并且应该考虑使用原始字符串文字来定义正则表达式,以避免与非逃逸反斜杠混淆。您尝试与模式匹配吗?不,我无法尝试re.findall.Note:如果索引本身有索引,则这不起作用,如foo[bar[1]]
。(这不是要求,只是想指出限制…)是的,这就是为什么我还建议\[([0-9]+)]
。