以编程方式确定字符串在python中是否为有效变量名

时间:2019-06-03 13:45:02

标签: python-3.x validation variable-names

我想获得一些可重用的代码,以正确地确定字符串在python3中是否是有效的变量名(或者当前正在运行的python就足够了)。

例如:

如果给定字符串group_찇籸딥햳㸙濮ᚨ麍ڵថ,则解决此问题的方法应返回True,可以将其用作python变量名称。如果给定group_찇籸딥-햳㸙濮ᚨ麍ڵថ,它应该返回False,因为它不能正确地用作单数变量名。

>>> group_찇籸딥햳㸙濮ᚨ麍ڵថ = 4
>>> group_찇籸딥-햳㸙濮ᚨ麍ڵថ = 4
  File "<stdin>", line 1
SyntaxError: can't assign to operator

如果解决方案避免使用不安全的eval,我会更喜欢。如果正则表达式True被匹配,则先前尝试过的解决方案将返回^[\d\W]|[^\w],但这似乎是不完整的,因为它将上面给出的第一个示例错误地标识为无效。

0 个答案:

没有答案