2016-05-20 2 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+ 
Смежные вопросы