python - 我想使用正则表达式在python中返回索引
问题描述
我想从数组中获取索引。
例如:
s = "arr[2]"
我想使用正则表达式返回索引[2]
更新!我还想返回数组的名称(arr)
解决方案
这应该以正则表达式的方式进行!(找出方括号内所有可能的数字[]
def get_idx(s):
m = re.search(r"\[([-?a-zA-Z0-9_]+)\]", s)
return m.group(1)
然后你可以测试它
print(get_idx("arr[2]"))
#2
print(get_idx("arr[24]"))
#24
print(get_idx("arr[245]"))
#245
print(get_idx("arr[-2]"))
#-2
print(get_idx("arr2[-2]"))
#-2
print(get_idx("arr2[hex]"))
#hex
为了得到数组的名称,你可以做
def get_name(s):
m = re.search(r"(.*)\[.*", s)
return m.group(1)
然后你可以测试它
import re
def get_name(s):
m = re.search(r"(.*)\[.*", s)
return m.group(1)
print(get_name("arr[2]"))
#arr
print(get_name("arr[24]"))
#arr
print(get_name("arr[245]"))
#arr
print(get_name("arr[-2]"))
#arr
print(get_name("arr2[-2]"))
#arr2
推荐阅读
- makefile - u-boot中定义的“xxxxxdefconfig文件”的变量(如CONFIG_DM_MMC)在哪里?
- python - 将 DataFrame 附加到 Google 表格中的匹配单元格
- css - 删除大量 css 时出错:在 nuxtjs 中优化 bootstrap-vue - 使用 Purecss
- css - 表格网格项目的边距底部不适用
- c# - C#使用async方法GetStringAsync访问URI为什么没有返回值?
- html - 修复 HTML5 浮动问题
- android - 如何修复我的 Android SQLite 数据库?
- javascript - 如何使用 DOCX.JS 设置列大小
- arrays - Ruby on Rails 6:表单通过隐藏字段提交哈希数组但被阻止
- c# - 文件中没有单声道行为脚本。名称确实匹配