私はこの正規表現を書きました:
String regex = "^\\s+something\\s+(not\\s+)?else\\s+([-,\\s\\d]+)$";
そしてこのコード:
String line = "something else 1, 2-3";
Matcher m = Pattern.compile(regex).matcher(line);
m.matches()
戻りますtrue
、それは私が欲しいものです。
ただし、次のコードについてもtrue
、が返されますが、一致させたくありません。正規表現が返されるように変更するにはどうすればよいfalse
ですか?
String line = "something else 1 2 3";
Matcher m = Pattern.compile(regex).matcher(line);
ありがとう!
更新:範囲チェックは行っていません。リスト内のスペースの間にコンマがあるかどうかを確認したいだけです。したがって1, 3, 5-7
、有効ですが、そうでは1, 2 5-7
あり1 2 3
ません。