我希望能够使用字符串填充正则表达式变量。
import re
hReg = re.compile("/robert/(?P<action>([a-zA-Z0-9]*))/$")
hMatch = hReg.match("/robert/delete/")
args = hMatch.groupdict()
现在 args 变量是一个包含 {"action":"delete"} 的字典。
我如何反向这个过程?通过 args 字典和正则表达式模式,我如何获得字符串 "/robert/delete/"?
是否可能拥有像这样的函数?
def reverse(pattern, dictArgs):
Thank you
"/robe[or]t?/(?P<action>((?!foo)[a-zA-Z0-9]*))"
?由于正则表达式包含依赖彼此的可选和条件部分,因此无法从匹配列表返回原始字符串。因此,要么您定义一组非常狭窄的允许的正则表达式子集,并为其编写解析器,可能仍然会漏掉某些边缘情况并严重限制自己 - 要么您可以更有成效地利用时间。 ;) 正则表达式匹配是单向的。 - Tomalak