2016-04-09 4 views
0

最近正規表現のものになった。本当にひどく私を盗んでいる何かがあります。Java正規表現、特定のシンボルが見つかったときにマッチングを停止する方法

正規表現の後に続く特定の記号がない場合、正規表現で特定の単語のみを一致させる方法を教えてください。 たとえば、 普通の単語と大文字で終わる単語があるとします。その単語の後ろに大文字がない場合、正規表現で単語を検出するにはどうすればよいですか?

Just some sample texT with wordS. ThiS should be Matched. 

これから私は、 "texT、wordS、ThiS"を除いて、すべての単語に一致するreggexを作成します。

ご協力いただきありがとうございます。

答えて

0

あなたはいくつかの方法でこれを行うことができます。 1つはword boundaries \bを含むことができます。

\bだから必ず我々が単語全体を一致させるために入力

の開始または終了時に、アルファベットとアルファベット以外の文字

    • あるだけの場所にマッチしますすることができます を\bと囲むことができるのは、\b\w+\bです。
      見つかった単語が大文字で終わっていないことを確認するには、最後の文字を小文字(範囲:a-z)にする必要があります。

      正規表現を\b\w+[a-z]\b

  • +0

    に書き直すことができます。これは私の問題をほぼ解決します。 (実際には私が100%を説明したものを解決する)しかし、私は別のことを思い出していた。どうすれば数字で終わる言葉も無視することができます。たとえば「somE ##### word21」... 「som」と「word」はどうすれば抽出できますか? – Kobek

    +0

    @Kobek AFKのため申し訳ありませんが、接続に問題がありました。この特殊なケースでは、単純に '[az] +'のような小文字だけを検索することができますが、これは実際に*達成したいことではないかもしれません:) – Pshemo

    +0

    @Kobek質問に記載された問題は[それを受け入れる]と考える(http://meta.stackexchange.com/a/5235/186652)。私の前のコメントからの解決があなたのために働いたかどうか私にも教えてください。 – Pshemo

    関連する問題