gpt4 book ai didi

python +postgresql : Convert string literal to regex

转载 作者:行者123 更新时间:2023-11-29 14:07:53 28 4
gpt4 key购买 nike

我想执行一个查询,其中我使用正则表达式将列名与我的变量 s 匹配。 s 是字符串文字,可能包含 ?*. 等内容。我想转换s 使 ? 变成 .{0,3},使其所有剩余的正则表达式符号保持文字,然后添加 .* 到最后。示例:

Hi -> Hi.*
Fo?ar -> Fo.{0,3}ar.*
F.a*rx -> F\.a\*rx.*
F.a?*rx -> F\.a.{0,3}\*rx

执行此操作的最佳方法是什么?大多数情况下,我不确定如何引用字符串文字,以便正则表达式符号不会被解释为正则表达式符号(例如 . -> \.)。

最佳答案

print '.{0,3}'.join(re.escape(part) for part in s.split('?')) + '.*'

关于 python +postgresql : Convert string literal to regex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5425260/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com