python - Python 2.7 | 使用 RegEx 为变量插入右括号
问题描述
我有一个文件,其中包含:
a[0 a[1 a[2 a[3 a[4 a[5 a[6 a[7 a[8 \
a[9 a[10 a[11 a[12 a[13 a[14 a[15 a[16 \
a[17 a[18 a[19 a[20 a[21 a[22 a[23 a[24 \
a[25 a[26 a[27 a[28 a[29 a[30 a[31 b[0 b[1 \
b[2 b[3 b[4 b[5 b[6 b[7 b[8 b[9 b[10 \
b[11 b[12 b[13 b[14 b[15 b[16 b[17 b[18 \
b[19 b[20 b[21 b[22 b[23 b[24 b[25 b[26 \
b[27 b[28 b[29 b[30 b[31
我想为每个变量插入一个右括号。这些数字可以针对未来的变量而增长。我们如何使用正则表达式来做到这一点?提前致谢。
解决方案
使用re.sub
前任:
import re
s = """a[0 a[1 a[2 a[3 a[4 a[5 a[6 a[7 a[8 \
a[9 a[10 a[11 a[12 a[13 a[14 a[15 a[16 \
a[17 a[18 a[19 a[20 a[21 a[22 a[23 a[24 \
a[25 a[26 a[27 a[28 a[29 a[30 a[31 b[0 b[1 \
b[2 b[3 b[4 b[5 b[6 b[7 b[8 b[9 b[10 \
b[11 b[12 b[13 b[14 b[15 b[16 b[17 b[18 \
b[19 b[20 b[21 b[22 b[23 b[24 b[25 b[26 \
b[27 b[28 b[29 b[30 b[31"""
res = re.sub(r"([a-z]\[\d+)", r"\1]", s)
print res
输出:
'a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] a[11] a[12] a[13] a[14] a[15] a[16] a[17] a[18] a[19] a[20] a[21] a[22] a[23] a[24] a[25] a[26] a[27] a[28] a[29] a[30] a[31] b[0] b[1] b[2] b[3] b[4] b[5] b[6] b[7] b[8] b[9] b[10] b[11] b[12] b[13] b[14] b[15] b[16] b[17] b[18] b[19] b[20] b[21] b[22] b[23] b[24] b[25] b[26] b[27] b[28] b[29] b[30] b[31]'
推荐阅读
- reporting-services - CloudFlare 源证书在 SSRS 上配置
- reactjs - React App 在构建中没有媒体文件
- android - Jetpack Compose 中约束布局的权重
- python - 如何从 tif 使用 python netCDF4 创建 netCDF 文件?
- python - 使用 pandas 平衡数据集
- python - 模型中的 Django 3 动态默认值
- python - 带有 .toml 配置和预提交钩子的 Flakehell
- list - 我应该如何删除列表中的非数字使用序言
- python - 为 Djoser 中未激活的用户返回适当的错误
- ruby-on-rails - 如何使用表单在 Ruby on Rails 中设置参数值(对于 Scope)?