我希望创建一个正则表达式(如果重要的话,在Python中),以便检查变量是否是另一种语言的有效标识符。
到目前为止,我有以下内容:
[A-z_][A-Za-z_0-9]*
但是,我希望扩展上面的正则表达式,使其与关键字不匹配,例如“new”,“false”,“true”,“for”,“while”
我该怎么做?
答案 0 :(得分:2)
您在这里寻找negative lookahead:
\b(?!(new|false|true|for|while)\b)\w+\b
如果存在任何给定的关键字,那么 (?!new|false|true|for|while)
是负面预测,断言要使匹配失败。 \b
用于字边界。