You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用正则表达式为字符串中row[...]格式内容包裹str()函数

正确实现方案

首先导入re模块后使用如下替换逻辑:

import re
test = "if row['adm.w'] is 'Bad' and row['rem'] not empty"
# 核心正则替换语句
result = re.sub(r'(row\[[^\]]+\])', r'str(\1)', test)

执行后输出的result内容完全符合预期:

if str(row['adm.w']) is 'Bad' and str(row['rem']) not empty

正则逻辑说明

  • 正则规则(row\[[^\]]+\])是一个捕获组,精准匹配所有row[...]格式的标记:
    • row\[ 严格匹配开头的row[字符
    • [^\]]+ 匹配除了闭合方括号]之外的任意字符,保证匹配范围不会超出当前row[...]的边界
    • \] 匹配结尾的闭合方括号
  • 替换规则str(\1)直接把捕获到的整个row[...]片段放到str()的括号内,不需要额外拼接其他内容。

原正则的问题说明

你之前写的正则匹配逻辑是匹配单引号包裹的内容,既会错误匹配到'Bad'这类非目标片段,替换规则也错误丢掉了row关键字,所以无法得到预期结果。

内容的提问来源于stack exchange,提问作者Fazli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:15:05