正则表达式,表示不是关键字的标识符

时间:2015-11-02 17:57:38

标签: python regex python-3.x

我希望创建一个正则表达式(如果重要的话,在Python中),以便检查变量是否是另一种语言的有效标识符。

到目前为止,我有以下内容:

[A-z_][A-Za-z_0-9]*

但是,我希望扩展上面的正则表达式,使其与关键字不匹配,例如“new”,“false”,“true”,“for”,“while”

我该怎么做?

1 个答案:

答案 0 :(得分:2)

您在这里寻找negative lookahead

\b(?!(new|false|true|for|while)\b)\w+\b

RegEx Demo

如果存在任何给定的关键字,那么

(?!new|false|true|for|while)是负面预测,断言要使匹配失败。 \b用于字边界。