fork(8) download
  1. <?php
  2. $pattern = "#^(([gG][iI][rR] {0,}0[aA]{2})|((([a-pr-uwyzA-PR-UWYZ][a-hk-yA-HK-Y]?[0-9][0-9]?)|(([a-pr-uwyzA-PR-UWYZ][0-9][a-hjkstuwA-HJKSTUW])|([a-pr-uwyzA-PR-UWYZ][a-hk-yA-HK-Y][0-9][abehmnprv-yABEHMNPRV-Y])))( {0,}[0-9][abd-hjlnp-uw-zABD-HJLNP-UW-Z]{2})?))$#";
  3.  
  4. $check = array(
  5. "LE1 1AA",
  6. "LE1",
  7. "SN5"
  8. );
  9.  
  10. $match = null;
  11. foreach($check as $c){
  12. if(preg_match($pattern, $c, $match)){
  13. echo "$c matches -> {$match[0]}\n";
  14. }
  15. }
Success #stdin #stdout 0.01s 20520KB
stdin
Standard input is empty
stdout
LE1 1AA matches -> LE1 1AA
LE1 matches -> LE1
SN5 matches -> SN5