我正在尝试构建一个依赖于来自许多不同来源的变量的正则表达式。
来源:
dict1 = {"a":"somevalue","b":"somevalue","c":"somevalue"}
source2 = "x"
source3 = "_1"
我想构建一个正则表达式,它取决于我将从上述来源获得的值。生成的正则表达式如下所示。
^(a|b|c)x[0-9]{0,10}_1
在哪里:
(a|b|c)
是的键dict1
并且dict
可以有一个或多个值。x
是来自 的值source2
。-1
是我将从source3
.
我对我所拥有的解决方案不满意,该解决方案基本上是连接源来构建正则表达式。我想知道是否还有其他更好更好的解决方案。这是我想出的解决方案。
group1 = "|".join(dict1.keys())
regex = "^("+group1+")"+source2+"[0-9]{0,10}"+source3
将感谢您的帮助。可能re.verbose
吗?但我不确定最好的方法是什么。