間のスペースを持つ単語の文字列に一致しますが、私はどこでもそれを見つけるカントので、スペースで区切られています。最初の文字は、文字および/または(なしを含む)の任意の数:入力は無関係何も持っていないフォーマットの各変数< varは>一般的なプログラミング言語の型の変数である正規表現は、私はこれを聞いて最初にカント
<var> <var> <var> ... <var>
文字列でありますまたは数字。
私は正規表現の文字列
"(?i)([a-z][a-z0-9]*)[\\s+([a-z][a-z0-9]*)]+"
を使用していると私は汚いバックスラッシュの使用を避けるために、例えばA〜Zを綴りますよ。
パターンは基本的には動作しますが、MatcherのgroupCount()を取得すると、常に1となり、入力全体です。変数がキャプチャされないのはなぜですか?
私のロジックは、最初の変数にマッチさせてから、繰り返し空白と他の変数のペアをマッチさせることです。繰り返すパターンを間違って言いましたか?私はパターンが一致する場合はsplit()を使用する代わりに、正規表現をよりよく理解したいと考えています。また、不思議なことに、パターンは、変数の長さが1より大きい、例えば "abc"のような、存在した後に必要なスペースがないときには1つの変数にマッチします。
あなたが持っているコードを投稿してください。あなたは 'while(matcher.find()){/ *ここで一致する* /}'を使いましたか? –