Я хотел бы написать регулярное выражение, соответствующее любому слову. Я использую [a-zA-Z]*
, за исключением некоторых слов, например WORD1
и WORD2
.Регулярное выражение соответствует любому слову, кроме некоторых слов в flex
So somethingsomething
совпадений, но слова WORD1
и WORD2
не будут. Возможно ли это в flex?
Я попытался:
[a-zA-Z]*|[^"WORD1""WORD2]
и [a-zA-Z]*{-}["WORD1""WORD2"]
, но ни работы.
(Теперь я знаю, почему они не работают, но я до сих пор не знаю решения.)
[Lookaheads] (HTTP: // WWW .regular-expressions.info/lookaround.html) недоступны в flex regex? –
@bobblebubble: [Это не выглядит хорошо.] (Http://stackoverflow.com/q/22326399/20670) –
Я действительно не понимаю, что вы здесь просите. '[a-zA-Z] *' не будет соответствовать 'WORD1', хотя он будет соответствовать' WORD'. Что вы хотели, чтобы произошло, когда WORD1 встретился? Ошибка? Другой тип токена? Два жетона? Только если мы знаем, что вы хотите, чтобы результат сканирования 'WORD1' был, мы можем предложить предложение о том, как его реализовать. – rici