4.1 より大きいバージョン番号に一致させたい。このために次の正規表現を作成しました
(([4-9]+\d*(\.((\*)|([2-9]+(\.((\*)|([0-9]+)))?)))?))
ただし、「4」にも一致し、「5.1」、「6.1」などには一致しません。
そのような正規表現を構築する方法は? 助けてください。
4.1 より大きいバージョン番号に一致させたい。このために次の正規表現を作成しました
(([4-9]+\d*(\.((\*)|([2-9]+(\.((\*)|([0-9]+)))?)))?))
ただし、「4」にも一致し、「5.1」、「6.1」などには一致しません。
そのような正規表現を構築する方法は? 助けてください。
これを試して:
([4-9]\.[2-9]\d*|[4-9]\.\d\d+|[5-9](\.\d+)?|\d\d+(\.\d+)?)
4.1 より上のすべてのバージョンに一致
編集:ドットのないバージョンの修正
これを試すことができます:
(4\.(1[0-9]*[1-9]|[2-9][0-9]*)|([5-9]|[1-9][0-9]+)(\.[0-9]+)?)
これは一致します:
4.
次のいずれかが続きます。
1
その後に 0 個以上0-9
と 1 個以上が続く1-9
2-9
ゼロ以上が続く0-9
また
5-9
以上1-9
が続く0-9
0-9
これがどのように使用されるかに応じて、他の文字が許可されないように、パターンの周りに開始/終了アンカーを追加することを検討することをお勧めします。
^(4\.(1[0-9]*[1-9]|[2-9][0-9]*)|([5-9]|[1-9][0-9]+)(\.[0-9]+)?)$
ここでテストできます。