2

JFlex の [[:jletterdigit:]] にはどのような文字がありますか? [[:jletterdigit:]] を従来の正規表現に変換する必要があります。

4

2 に答える 2

2

Michael Lowman の回答を明確にするには: これは、JFlex のドキュメントに次のように記載されています。

jletter および jletterdigit は、定義済みの文字クラスです。jletter には、Java 関数 Character.isJavaIdentifierStart が true を返すすべての文字が含まれ、jletterdigit は、その Character.isJavaIdentifierPart のすべての文字が true を返します。

彼が書いたのはCharacter.isJavaIdentifierPart のドキュメントです:

指定された文字が最初の文字以外の Java 識別子の一部であるかどうかを判断します。

次のいずれかに該当する場合、文字は Java 識別子の一部である可能性があります。

it is a letter
it is a currency symbol (such as '$')
it is a connecting punctuation character (such as '_')
it is a digit
it is a numeric letter (such as a Roman numeral character)
it is a combining mark
it is a non-spacing mark
isIdentifierIgnorable returns true for the character

isIdentifierIgnorable は次のように定義されます。

指定された文字 (Unicode コード ポイント) を Java 識別子または Unicode 識別子で無視できる文字とみなすかどうかを決定します。

次の Unicode 文字は、Java 識別子または Unicode 識別子では無視できます。

ISO control characters that are not whitespace
    '\u0000' through '\u0008'
    '\u000E' through '\u001B'
    '\u007F' through '\u009F' 
all characters that have the FORMAT general category value
于 2014-11-28T10:30:09.853 に答える
1

次のいずれかに該当する場合、文字は Java 識別子の一部である可能性があります。

それは手紙です

通貨記号です(「$」など)

接続句読点 ('_' など) です。

それは数字です

数字です(ローマ数字など)

組み合わせマークです

それはノンスペースマークです

isIdentifierIgnorable は文字に対して true を返します

Java API から

于 2011-01-05T14:59:04.277 に答える