使用Python 3检查字符串是否为有效的JavaScript标识符名称

使用Python 3检查字符串是否为有效的JavaScript标识符名称,javascript,string,python-3.x,lexer,Javascript,String,Python 3.x,Lexer,如果我正确理解这两个规范,JavaScript和Python3对变量名使用完全相同的规则,只是JavaScript还允许在其名称中使用美元字符 Python3提供了一个isidentifierstring方法,如果字符串是有效的Python3标识符,则返回True,否则返回False。该方法知道名称中可以使用哪些unicode字符,但显然不允许使用美元字符 以下表达式过于简单: string.replace("$", "").isidentifier() 它错误地计算为False的名称: 仅

如果我正确理解这两个规范,JavaScript和Python3对变量名使用完全相同的规则,只是JavaScript还允许在其名称中使用美元字符

Python3提供了一个
isidentifier
string方法,如果字符串是有效的Python3标识符,则返回
True
,否则返回
False
。该方法知道名称中可以使用哪些unicode字符,但显然不允许使用美元字符

以下表达式过于简单:

string.replace("$", "").isidentifier()
它错误地计算为
False
的名称:

  • 仅包含美元字符(例如,
    $
    $$$
  • 仅在数字前面有美元字符(
    $123
    $$0foo

在Python 3中,检查字符串最惯用的方法是使用有效的JavaScript标识符名称吗?

为什么不替换为有效的Python字符,例如,
。替换(“$”,“?”)
,您的示例将全部评估为
True
,我不敢相信我没有想到这一点。你应该回答这个问题。谢谢。ECMAScript标识符的规则如下:。