2016-05-26 4 views
-4

これは私が#で始まり、スペースまたは.#mynameで終わるJavaのREGX、 を使用してすべての単語を検索したいサンプル列"#"で始まり、スペースまたは "。"で終わるJava正規表現を使用してすべての単語を検索したいと思います。

hi #myname, you got #amount 

で、#amount

私は、以下の正規表現を試してみましたそれは動作しません。

String regx = "^#(\\s+)"; 
+0

[ヘルプ]を訪問し、読む[尋ねる]してください。あなた自身で解決策を試し、試した後にのみ質問してください。あなたが試したことを私たちに教えてください。 –

+1

金額の後にスペースやドットが表示されない – rock321987

+2

@AnoopLL - よろしくお願いします。 –

答えて

2

この1が道のようになります。

#(\w+)(?:[, .]|$) 
  • #試合#文字通り
  • \wは、少なくとも1つの文字を持つ単語である
  • (?:)が非捕捉ある基
  • [, .]|$Regex101をチェック詳細についてはライン$

の端部を含む文字の終了設定されています。 Javaでは

は、二重\\に脱出することを忘れないでください:

String str = "hi #myname, you got #amount"; 
Matcher m = Pattern.compile("#(\\w+)(?:[, .]|$)").matcher(str); 
while (m.find()) { 
    ... 
} 
+0

私が使ったのは" \\ $(\\ w +) "で、これは私の目的に役立ちます。 たくさんの人に感謝 – jackSparrow

+0

'$'の代わりに '#'を意味しないのですか?はい、それは動作しますが、それはで終わるすべての文字の範囲と単語を一致させます。 –

+0

ああ申し訳ありませんが "\\#(\\ w +) – jackSparrow

0

これは正規表現です:"(#\w*?[ .])"

+0

Yepp。 '。*?'を '\ w *? 'に置き換える –

1
String str = "hi #myname, you got #amount"; 
Matcher m = Pattern.compile("\\#(\\w+)").matcher(str); 
関連する問題