2016-05-20 71 views
1

我試圖設計匹配標識符的正則表達式,除非它是保留關鍵字。
以下是我所嘗試的:(?!{}(?![_a-zA-Z0-9]))[_a-zA-Z][_a-zA-Z0-9]*其中{}被替換爲if|else|while之類的東西。不幸的是,它不能匹配任何東西開始帶有保留關鍵字,所以類似ifa沒有通過。
如何設計一個合適的正則表達式?匹配標識符但不匹配保留關鍵字的模式

回答

1

你似乎缺少的部分是\b字邊界。沿着這些線的東西應該工作:

(?!(if|else|while)\b)\b\w+