How to pass a variable to a re.sub callback?

后端 未结 4 1146
南笙
南笙 2021-02-09 08:29

I am using a re.sub callback to replace substrings with random values, but I would like the random values to be the same across different strings. Since the re.sub callback does

4条回答
  •  無奈伤痛
    2021-02-09 09:09

    You could use a function object.

     class A(object):
      def __init__(self, mappings):
        self.mappings = mappings
      def __call__(self, match):
        return str(eval(match.group(0)[2:-1], self.mappings))
    
     evaluate = A({'A': 1, 'B': 2})
    

提交回复
热议问题