以下の文字列で、(スペース) で始まり、(スペース) で@
終わる すべての文字列 (空ではない) を取得する必要があります。' '
String s = "@test1 @test2 @test3 @test4 @@ @test5";
すべての文字列を取得できることを願ってい"test1", "test2", "test3", "test4", "test5"
ます。
Java regxでそれを行う方法は? どうもありがとう!
次の正規表現を使用できます
@\w+
\w
と類似しています[a-zA-Z\d_]
\w+
からの 1 から多くの文字に一致します。[a-zA-Z\d_]
Java 正規表現(?<=@)[^@ ]+(?= )
がうまくいくはずです。Regex Planet の Java 正規表現ページによると、正規表現test1
は 、test2
、test3
およびtest4
. (@test5
はスペースで終わらtest5
ないため、一致しません。)
@
先頭の s と末尾の sを一致させても問題ない場合は、より単純な Java regex を使用できます
@[^@ ]+
。
最後に、以下のコードで解決しました:
Pattern pattern = Pattern.compile("@\\p{L}+");