通过一些遗留代码,我在模型过滤器中偶然发现了这个正则表达式:
"[[:<:]](%s)[[:>:]]" % value
我知道内部方括号与文字方括号相匹配,但我找不到对冒号和lt / gt的任何引用。
这应该匹配什么?
答案 0 :(得分:2)
正如你问题的评论者指出的那样,这可能是一个错误,或者有人在扯你的链条。我无法想象它是如何有用的。但要明确回答你的问题,这里有一些它会匹配的东西。这假设Python已将%s
替换为foo
[]foo:]
:]foo:]
<]foo:]
<]foo>]
[]foo>]
[]foo:]
[]foo[]
也许这是(失败的)尝试找到类似<foo>
或:foo:
正则表达式的解释(我删除了多余的重复:
,似乎表明这是一个错误,或者不打算使用Python的re
运行):< / p>
[[:<] # match one `[` or `:` or `<`
] # one literal right bracket
( # open capture group
foo # literal string `foo`, or whatever replaced `%s`
) # close capture group
[[>:] # match one `[` or `>` or `:`
] # one literal right bracket
这一切意味着什么?你的猜测和任何人一样好。