Cara kerja pola
| Bagian | Arti |
|---|---|
(0|[1-9]\d*) | Major, minor, dan patch (grup 1–3): angka tanpa angka nol di depan |
\. | Titik di antara keduanya |
(?:-([0-9A-Za-z.-]+))? | Pre-release opsional setelah tanda hyphen (grup 4): beta.1, rc.2 |
(?:\+([0-9A-Za-z.-]+))? | Build metadata opsional setelah tanda plus (grup 5) |
Contoh kode
JavaScript
const re = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z.-]+))?(?:\+([0-9A-Za-z.-]+))?$/;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z.-]+))?(?:\+([0-9A-Za-z.-]+))?', value))PHP
preg_match('/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z.-]+))?(?:\+([0-9A-Za-z.-]+))?$/', $value) === 1;
Catatan dan batasan
Ini adalah versi praktis dari aturan semver 2.0. Hapus huruf v di depan terlebih dahulu jika tag kamu menggunakannya. Bandingkan versi secara numerik, grup per grup, bukan sebagai string.
Regex Tester
Ketik pola dan lihat hasil cocok langsung ter-highlight di teks ujimu.