5

「int」の単語を青く着色する JTextPane があります。このような正規表現は、「印刷」にも色を付けるため、間違っています。

int + "(\\[\\])*" //To match eg. int[]

だから私はそのような正規表現でアイデアを思いつきました:

"\\s" + int + "(\\[\\])*"

ユーザーがテキスト ペインで最初に int を入力すると、問題はありませんが機能しません。この問題を解決するには?NOTHINGのシンボルはありますか?だから私は作ることができます:\ s | なし

4

3 に答える 3

6

で一致する単語の境界でint囲まれて一致するだけです。パターン:\b

"\\bint\\b"

常に優れたregular-expressions.infoで詳細をお読みください。

于 2013-03-04T17:34:56.957 に答える
1

これを使用することをお勧めします:

/\bint\S*/ig

これがJavaにどのように変換されるかは完全にはわかりませんが、文字列部分は次のようになります。

"\\bint\\S*"

正規表現は次のように変換されます。

単語の境界に続く「int」を見つけて、空白文字になるまでそれと他のものをキャプチャします。

それはあなたが一致することを可能にします

int[]
int()
interesting
int!@#$%^&*()_+~=-

などなど。

キャプチャint[], int()などのみを行う場合は、正規表現が明らかに異なります。

于 2013-03-04T17:48:00.237 に答える
1

オプションのスペースが必要ですか?それはそうでしょう\\s?。または、0 個以上のスペースを許可するには: \\s*.

于 2013-03-04T17:34:38.547 に答える