fork(3) download
  1. <?php
  2.  
  3. $mask = 'X-XX-XX-XXXXX';
  4. $test = '7-Ds-re-SD434';
  5.  
  6. $pattern = preg_replace_callback('/X+/', function ($m) {
  7. return '[^-]{' . strlen($m[0]) . '}';
  8. }, preg_quote($mask));
  9.  
  10. if (preg_match( "/^{$pattern}$/", $test)) {
  11. echo "Строка '$test' подходит под маску '$mask'";
  12. } else {
  13. echo "Строка '$test' не подходит под маску '$mask'";
  14. }
Success #stdin #stdout 0.02s 52472KB
stdin
Standard input is empty
stdout
Строка '7-Ds-re-SD434' подходит под маску 'X-XX-XX-XXXXX'