0

以下の文字列で、(スペース) で始まり、(スペース) で@終わる すべての文字列 (空ではない) を取得する必要があります。' '

String s = "@test1 @test2 @test3  @test4 @@ @test5";

すべての文字列を取得できることを願ってい"test1", "test2", "test3", "test4", "test5"ます。

Java regxでそれを行う方法は? どうもありがとう!

4

3 に答える 3

1

次の正規表現を使用できます

@\w+

\wと類似しています[a-zA-Z\d_]

\w+からの 1 から多くの文字に一致します。[a-zA-Z\d_]

于 2012-12-10T15:07:48.623 に答える
0

Java 正規表現(?<=@)[^@ ]+(?= )がうまくいくはずです。Regex Planet の Java 正規表現ページによると、正規表現test1は 、test2test3およびtest4. (@test5はスペースで終わらtest5ないため、一致しません。)

@先頭の s と末尾の sを一致させても問題ない場合は、より単純な Java regex を使用できます@[^@ ]+

于 2012-12-10T15:28:28.100 に答える
0

最後に、以下のコードで解決しました:

Pattern pattern = Pattern.compile("@\\p{L}+"); 
于 2012-12-10T16:03:03.280 に答える