3v4l.org

run code in 300+ PHP versions simultaneously
<?php $regexes = Array( "login" => "/^[A-Za-zÀ-ú0-9._-]{4,16}$/", "mdp" => "/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+\-=\[\]{};':\"\\|,.<>\/?])[A-Za-z\d!@#$%^&*()_+\-=\[\]{};':\"\\|,.<>\/?]{7,15}$/", "name" => "/^(?=.*[A-zÀ-ú])[A-zÀ-ú\-\s\']{2,60}$/", "cp" => "/^(?=.*[0-9])[0-9A-z\-\+]{4,20}$/", "long_text" => "/^[A-zÀ-ú\d\-\s@$!%*?&^#°\p{P}]{2,200}$/", "medium_text" => "/^[A-zÀ-ú\d\-\s@$!%*?&^#°\p{P}]{2,150}$/", "short_text" => "/^[A-zÀ-ú\d\-\s@$!%*?&^#°\p{P}]{2,50}$/", "date" => "/^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$/", "time" => "/^([01]\d|2[0-3]):([0-5]\d)(?::([0-5]\d))?$/", "email" => "/^[^\s@]+@[^\s@]+\.[^\s@]+$/" ); $matching_regexes = Array( "login" => "login", "mdp" => "mdp", "nom" => "name", "prenom" => "name", "cp" => "cp", "email" => "email" ); function verifRegex($string, $field_name) { global $regexes, $matching_regexes; return filter_var($string, FILTER_VALIDATE_REGEXP, Array( "options" => Array("regexp" => $regexes[$field_name]) )); } $login = "haaaaa56555555555"; $verif_login = verifRegex($login, "login"); echo $verif_login;

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
8.5.30.0110.00719.72
8.5.20.0140.00517.96
8.5.10.0360.00916.65
8.5.00.0270.00816.67
8.4.180.0120.01019.81
8.4.170.0390.01319.82
8.4.160.0330.00920.38
8.4.150.0320.00919.90
8.4.140.0340.01017.53
8.4.130.0350.01017.55
8.4.120.0270.01018.02
8.4.110.0350.01017.88
8.4.100.0370.00817.96
8.4.90.0370.01017.85
8.4.80.0350.00917.83
8.4.70.0370.00817.76
8.4.60.0350.01017.84
8.4.50.0380.00717.87
8.4.40.0400.00717.79
8.4.30.0380.01017.97
8.4.20.0350.01117.78
8.4.10.0360.01117.68
8.3.300.0300.00918.26
8.3.290.0260.01218.51
8.3.280.0330.01018.21
8.3.270.0360.00716.60
8.3.260.0370.00816.73
8.3.250.0350.00816.78
8.3.240.0310.00716.68
8.3.230.0270.00916.73
8.3.220.0270.00616.84
8.3.210.0300.00716.78
8.3.200.0350.00516.56
8.3.190.0300.00716.69
8.3.180.0250.00816.76
8.3.170.0260.01016.72
8.3.160.0280.00816.44
8.3.150.0310.00816.88
8.3.140.0350.01216.60
8.3.130.0330.01016.71
8.3.120.0310.01216.60
8.3.110.0350.00916.83
8.3.100.0420.01016.76
8.3.90.0430.01116.81
8.3.80.0410.00916.60
8.3.70.0400.01016.61
8.3.60.0380.01116.74
8.3.50.0400.01016.69
8.3.40.0370.01217.92
8.3.30.0300.00917.73
8.3.20.0300.00918.06
8.3.10.0300.00918.12
8.3.00.0280.00917.95

preferences:
33.57 ms | 403 KiB | 5 Q