如何查找字符串中未被单引号包裹的内容并替换?
解决方案
- 使用正则表达式精准定位未被单引号包裹的目标字符串,通过负向零宽断言排除被单引号包含的内容:
- 以Python为例的实现代码:
import re field_domain = "['|', ('company_id', '=', False), ('company_id', '=', company_id)]" # 将未被单引号包裹的company_id替换为你需要的值,比如123 processed_domain = re.sub(r"(?<!')company_id(?!')", "123", field_domain) print(processed_domain) - 正则规则解释:
(?<!'):确保目标字符串前面没有单引号(?!'):确保目标字符串后面没有单引号
- 特殊情况处理:如果字符串中存在转义单引号(如
\'),需要调整正则为r"(?<![\\'])company_id(?![\\'])",避免误判转义后的单引号。
内容的提问来源于stack exchange,提问作者user3162878
相关产品推荐
相关产品推荐

