次の文に対応する標準ライブラリを使用して、Java で正規表現を作成したいと考えています。
12 of 128
明らかに、数字は何でもかまいません... 1桁から多数まで
また、「の」という言葉をどのように受け入れるかはわかりませんが、おそらく次のようなものだと思いました。
[\d\sof\s\d]
これはあなたのために働くはずです:
(\d+\s+of\s+\d+)
これは、テキストのブロック全体を「1 つのグループ」としてキャプチャすることを想定しており、それぞれの間に 1 つ以上の空白文字を含めることができます (スペースが 1 つだけの場合は、単に に変更できます\s+
) \s
。
数値を個別に取得したい場合は、次を試すことができます。
(\d+)\s+of\s+(\d+)
あなたはこれを求めている:
\d+\sof\s\d+
あなたがすでに持っていたものからの関連する変更は、2 つのプラス記号の追加です。つまり、複数の数字に一致する必要がありますが、少なくとも 1 つです。
サンプル: http://regexr.com?32cao
この正規表現
"\\d+ of \\d+"
は、少なくとも 1 から任意の桁数の文字列に一致し、その後に文字列 " of " が続き、その後に 1 から任意の桁数が続きます。