我想获取方括号内的字符串,该字符串以数组形式给出
u16 arrayName_1[8][7]
我有python代码,可以找到一维数组并在方括号内获取字符。
var = 'u16 arrayName_1[8]'
index = re.split('\[(.*?)\]', str(var))
index [0]将给出'u16 arrayName_1'。
index [1]将为'8'。
问题:我想在2D数组的括号内获取字符串。我尝试下面的代码,但这不是期望的结果。
var = u16 arrayName_1[8][7]
index= re.split('(\[.*\])$', str(var))
index [0]将给出'u16 arrayName_1'。
index [1]将为'[8] [7]'。这是错误的结果。
我想要像这样的输出:
index [1] ='8'
index [2] ='7'
您可以使用自己的模式re.findall
来获取其中的所有内容[...]
:
import re
var = 'u16 arrayName_1[8][7]'
index = re.findall(r'\[(.*?)\]', var)
print(index) # => ['8', '7']
参见Python演示
要只匹配内部数字,请使用\[([0-9]+)]
正则表达式。同样,您不必]
在字符类外转义符号,并且应考虑使用原始字符串文字来定义您的正则表达式模式,以避免与未转义的反斜杠混淆。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句