Я пытаюсь создать регулярное выражение, которое соответствует идентификатору, если это не зарезервированное ключевое слово.
Вот что я пробовал: (?!{}(?![_a-zA-Z0-9]))[_a-zA-Z][_a-zA-Z0-9]*
где {}
получает замену на что-то вроде if|else|while
. К сожалению, он не может сравниться , который начинает с зарезервированным ключевым словом, поэтому что-то вроде ifa
не проходит.
Как создать правильное регулярное выражение?Шаблон, чтобы соответствовать идентификатору, но не соответствует зарезервированным ключевым словам
Q
Шаблон, чтобы соответствовать идентификатору, но не соответствует зарезервированным ключевым словам
1
A
ответ
1
Часть, которую вы, кажется, отсутствуете, - это \b
для границ слов. Что-то в этом направлении должно работать:
(?!(if|else|while)\b)\b\w+