我想获得一些可重用的代码,以正确地确定字符串在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]
,但这似乎是不完整的,因为它将上面给出的第一个示例错误地标识为无效。