如何用正则表达式替换self.word为self.indices['word'](保留变量名)
正则搜索替换解决方案
- 问题根源:你用的
self.(.*?)正则未精准限定匹配范围,且替换时未正确引用捕获组,才会丢失原单词。 - 正确匹配正则:
self\.(\w+)self\.:转义.以匹配字面量self.(.在正则中是通配符,必须转义才能匹配实际的点)(\w+):捕获组,匹配一个或多个单词字符(字母、数字、下划线),对应你要提取的目标单词部分
- 替换模板:
- 多数编辑器/工具使用:
self.indices['$1']($1代表第一个捕获组捕获到的单词) - Python的
re.sub方法中使用:r"self.indices['\1']"
- 多数编辑器/工具使用:
- 示例验证:
- 输入
self.example→ 替换后得到self.indices['example'] - 输入
self.user_id→ 替换后得到self.indices['user_id']
- 输入
- 特殊场景调整:如果你的单词包含连字符等特殊字符,可将正则修改为
self\.([\w-]+),扩大匹配的字符范围
内容的提问来源于stack exchange,提问作者Chiel
相关产品推荐
相关产品推荐

