私は正規表現を初めて使用します。数値、操作、および識別子を一致させるために正規表現を作成しましたが、次のトークンが言語キーワードであることを認識する方法を管理できませんでした。たとえば、次のようになります。
int or double or public .....
.
これが私のコードです:
enum TokenType{
NUMBER("-?[0-9]+.[0-9]+|-?[0-9]+"), //int and double
OPERATION("[*|/|+|-]"), // arithmetic operations
WHITESPACE("[ \t\f\r\n]+"), // white space
IDENTI("[_]*[A-Za-z][A-Za-z0-9]*[[_]*[A-Za-z0-9]*]*"),// string like _string_string_..
//......
ここでの問題は、次のようなすべてのキーワードがint
識別子になることです。たとえば、
public static int NUMBER_OF_STUDENT;
出力:
public IDENTI
static IDENTI
int IDENTI
NUM... IDENTI
........
のようないくつかのキーワードに一致する別の正規表現を作成する方法はint, double, ....
?
必要に応じて、このプログラムのコード全体を投稿します。