Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 把字符串放在括号里_Python_Regex_String - Fatal编程技术网

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]+)]