正規化と照合を使い分ける
正規化は表記を検証する操作です。並べ替えは大小関係を使い、照合は入力順のまま条件への適合を示します。同値の行は元の順を維持し、不正な行は並べ替え時だけ末尾へ移ります。
開発者ツール
1行に1バージョン。正規化、並べ替え、カンマで結んだ条件の照合に対応します。
入力するかサンプルを読み込んでください。
入力はこのブラウザー内で処理され、サーバーには送信されません。
カンマはAND。空条件には境界がありません。~= == != <= >= < > ===に対応し、.*は==または!=のリリース接頭辞で使います。
最大1,000件。UTF-16単位で各行256、条件2,048、一覧全体100,000まで。空行は飛ばし、元の入力は変更しません。
現在の候補を検証中…
PEP 440バージョン比較は、新しいはずのリリースが依存関係の候補から外れる理由を調べるためのツールです。表記が有効か、大小関係はどうか、条件に適合するかを分けて確認できます。
1.0と1.0.0は比較では同じですが、正規化した表示では元のリリース桁数を残します。文字列の辞書順やnpm向けの範囲判定では見落とすepoch、dev、postの違いも扱います。
PEP 440バージョン比較ではv01.1から1.1への正規化を元の行と並べて表示します。各行を展開すると、epoch、リリース、pre、post、dev、localの構成を確認でき、入力を書き換える必要はありません。
自動モードはまず全条件に合う候補を集めます。正式版などの非プレリリースがあればそれを優先し、なければ適合するプレリリースへフォールバックします。候補を追加しただけで判定が変わる理由が見えます。
正規化は表記を検証する操作です。並べ替えは大小関係を使い、照合は入力順のまま条件への適合を示します。同値の行は元の順を維持し、不正な行は並べ替え時だけ末尾へ移ります。
条件を満たす正式版を削除して、プレリリースが候補に戻るか確認してください。「含める」を選んでも数値の境界は変わりません。1.0rc1は1.0より前なので>=1.0には適合しません。
自動実行は350ミリ秒待って計算します。オフにすると実行ボタンとCtrl/Cmd+Enterが使えます。変更直後の古い結果は出力できません。例とクリアはプレビュー後に適用し、一度だけ元に戻せます。
v接頭辞、数字の先頭ゼロ、alphaやpreviewなどの別名、ローカルラベルの区切りを整理します。リリースの桁数は増減させず、1.0.0はそのまま表示します。比較時の末尾ゼロ補完とは別の処理です。
epochを先に比較し、その後リリース番号、開発版、alpha、beta、rc、正式版、postの順序規則を適用します。ローカル部分の数字は整数として比較し、大きな値も丸めません。
~=、==、!=、<=、>=、<、>、===を扱います。カンマはANDです。==1.4.*などのリリース接頭辞にも対応し、不適合とプレリリース方針による除外を区別します。
バージョンのエラーは該当行に残し、他の行は処理を続けます。条件のエラーは計算全体を止めます。表示は50行ずつ追加できますが、JSONには全行と元の行番号が含まれます。
下限とリリース接頭辞を組み合わせます。~=1.4は1.4以上で1.*の範囲、~=1.4.0は1.4.*の範囲です。~=1のような1桁だけの指定は不正です。プレリリースを選ぶかどうかは別に判定します。
自動フィルターは適合する非プレリリースがなければプレリリースを使えます。正式版やpost版の追加でこの前提が変わります。「含める」で条件に合う候補全体を、「除外」でプレリリース以外だけを確認できます。
公開部分が同じならlocal付きの方が後です。例えば1.0 < 1.0+abcとなります。local内の数値要素は文字列要素より後に並びます。SemVerのビルドメタデータとは違い、大小関係に影響します。
==1.0+linux.1や!=1.0+linux.1は指定できます。>=や~=では指定できません。==1.0のように公開部分だけを指定した場合、特定のローカルビルドを要求しないため1.0+linux.1も対象になり得ます。
PEP準拠の比較にはpackaging.version.Versionを使えます。このページのエンジンはpackaging 26.0との照合を行っています。文字列比較では1.10と1.9の順序を誤り、別規格の解析器ではepochやpostを扱えないことがあります。
==1.0.*は有効ですが、==1.0rc1.*と==1.0.post1.*は不正です。接尾辞を制限するには完全な等値条件や通常の上下限を使ってください。接頭辞一致でもプレリリース方針は省略されません。
予想と違う結果ですか?
PEP 440バージョン比較に調査中の一覧と条件を戻し、エラー行と自動判定の説明を確認しましょう。現在の設定と全行の結果を保存すれば、同じ判断を後で再現できます。