python 2to3修复程序的PATTERN字符串中的文字参数问题

时间:2010-04-06 20:59:53

标签: python unicode pattern-matching special-characters python-2to3

我正在为python中的2to3工具编写修复程序。

在我的模式字符串中,我有一个部分,我想将空字符串作为参数或空的unicode字符串匹配。我的模式的相关块看起来像:

(args='""' | args='u""')

我的问题是第二个选项从不匹配。即使它是孤零零的,它也不会匹配。但是,如果我只是说args = any然后输出args,我可以捕获args完全等于第二个选项的情况。

是否有一些奇怪的unicode处理事情正在进行?为什么第二个文字选项不匹配?

1 个答案:

答案 0 :(得分:1)

因为2to3模式匹配旨在匹配令牌而不是文字,所以无法直接执行此操作。

相反,你可以匹配(args = STRING)然后确定转换函数中字符串参数的值并适当地处理它。