我希望創建一個正則表達式(在Python如果該事項),使得它檢查變量是否爲另一種語言有效的標識符。經常用於將標識符表達式不是關鍵字
到目前爲止,我有以下幾點:
[A-z_][A-Za-z_0-9]*
不過,我要延長上述正則表達式,這樣它不匹配的關鍵字如「new」,「false」,「true」,「for」,「while」
我該怎麼做?
我希望創建一個正則表達式(在Python如果該事項),使得它檢查變量是否爲另一種語言有效的標識符。經常用於將標識符表達式不是關鍵字
到目前爲止,我有以下幾點:
[A-z_][A-Za-z_0-9]*
不過,我要延長上述正則表達式,這樣它不匹配的關鍵字如「new」,「false」,「true」,「for」,「while」
我該怎麼做?
您正在尋找negative lookahead這裏:
\b(?!(new|false|true|for|while)\b)\w+\b
(?!new|false|true|for|while)
是這裏負先行斷言,如果任何給定的關鍵字都存在失敗的比賽。 \b
用於字邊界。
'A-z'是錯誤的,因爲它包括'''[\]^_''''。使用'A-ZA-z' – nhahtdh
@nhahtdh良好的抓 –