Очевидное решение - создать регулярное выражение для сопоставления всех ключевых слов, и вы можете сделать это, просто создав большое ИЛИ ключевых слов (if|else|...)
.Однако вам нужно исключить строки, комментарии и любой текст, который может содержать свободные ключевые слова, которые не являются ключевыми словами.
Когда мы думаем о регулярных выражениях, существуют ограничения на то, что может быть достигнуто с помощью регулярных выражений на практикеманера.Это значит, что регулярное выражение не обязательно подходит для вашей проблемы.
Причина этого в том, что вам нужно сопоставить много неправильных входных данных, а затем отбросить их.
например, как вы будете обрабатывать типичные комментарии в стиле C, оканчивающиеся новой строкой?
В конечном счете, вам нужен токенизатор для Scala, и вы, вероятно, найдете его в дистрибутиве Scala.