0
は、我々は範囲正規表現
- < 0100>
- (100,1000>
- (1000,10000>
- を(持っているとしましょう昇順に及びます次のように10000、無限大)
は、CSV行として表現:
0100; 100,1000; 1000,10000、10000
CSVの行が昇順で整数の範囲が含まれていることを確認します正規表現とは何ですか?
は、我々は範囲正規表現
は、CSV行として表現:
0100; 100,1000; 1000,10000、10000
CSVの行が昇順で整数の範囲が含まれていることを確認します正規表現とは何ですか?
あなたは本当に正規表現で遠くに行くことはありません。さらに、必要なものを確認するアルゴリズムを実行するのも簡単です。 Javaで例えば
、:
public static boolean ascendingOrder(String csv) {
String[] values = csv.split(",|\\;"); // Split on either "," or ";"
for (int i = 1; i < values.length; i++) {
int lastValue = Integer.parseInt(values[i-1]);
int currentValue = Integer.parseInt(values[i]);
if (i%2==0) { // If it's the lower bound, should be greater or equal than last higher bound
if (lastValue > currentValue) return false;
} else { // If it's the higher bound, ensure no empty interval
if (lastValue >= currentValue) return false;
}
}
return true;
}
これは範囲が昇順であり、重複しないことを確認します。
なぜ数学演算子ではなく、純粋な正規表現を使用したいのですか? – hjpotter92
正規表現は数値を比較することを意味するものではありません。私はこれのための正規表現に頼る以外の他のソリューションを探したいと思うと思います。 –
私はregexがここで厄介な選択だと思います。 Javaでは、セミコロンで各行を分割し、結果の配列を順番に調べ、各番号が増加し続けることを確認します。 –