3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $nationalNumber = "4732691234"; $nationalNumberPattern = '[4589]\d{9}'; $final_pattern = '(?:' . $nationalNumberPattern . ')'; $final_pattern = '^' . $final_pattern . '$'; $final_pattern = '/' . $final_pattern . '/x'; $b = (preg_match($final_pattern, $nationalNumber, $groups, PREG_OFFSET_CAPTURE) == 1) ? true : false; var_dump($final_pattern, $nationalNumber, $b, $groups); var_dump(PCRE_VERSION);
based on lHh35
Output for 5.5.32 - 5.5.35, 5.6.18 - 5.6.28, 7.0.3 - 7.1.0
string(20) "/^(?:[4589]\d{9})$/x" string(10) "4732691234" bool(true) array(1) { [0]=> array(2) { [0]=> string(10) "4732691234" [1]=> int(0) } } string(15) "8.38 2015-11-23"
Output for 5.4.43 - 5.4.45, 5.5.27 - 5.5.31, 5.6.11 - 5.6.17, 7.0.0 - 7.0.2
string(20) "/^(?:[4589]\d{9})$/x" string(10) "4732691234" bool(true) array(1) { [0]=> array(2) { [0]=> string(10) "4732691234" [1]=> int(0) } } string(15) "8.37 2015-04-28"
Output for 5.4.41 - 5.4.42, 5.5.25 - 5.5.26, 5.6.9 - 5.6.10
string(20) "/^(?:[4589]\d{9})$/x" string(10) "4732691234" bool(true) array(1) { [0]=> array(2) { [0]=> string(10) "4732691234" [1]=> int(0) } } string(15) "8.36 2014-09-26"
Output for 5.5.24, 5.6.8
string(20) "/^(?:[4589]\d{9})$/x" string(10) "4732691234" bool(true) array(1) { [0]=> array(2) { [0]=> string(10) "4732691234" [1]=> int(0) } } string(15) "8.34 2013-12-15"
Output for 5.3.24 - 5.3.29, 5.4.14 - 5.4.40
string(20) "/^(?:[4589]\d{9})$/x" string(10) "4732691234" bool(true) array(1) { [0]=> array(2) { [0]=> string(10) "4732691234" [1]=> int(0) } } string(15) "8.32 2012-11-30"
Output for 5.3.19 - 5.3.23, 5.4.9 - 5.4.13
string(20) "/^(?:[4589]\d{9})$/x" string(10) "4732691234" bool(true) array(1) { [0]=> array(2) { [0]=> string(10) "4732691234" [1]=> int(0) } } string(15) "8.31 2012-07-06"
Output for 5.3.7 - 5.3.18, 5.4.0 - 5.4.8
string(20) "/^(?:[4589]\d{9})$/x" string(10) "4732691234" bool(true) array(1) { [0]=> array(2) { [0]=> string(10) "4732691234" [1]=> int(0) } } string(15) "8.12 2011-01-15"
Output for 5.3.6
string(20) "/^(?:[4589]\d{9})$/x" string(10) "4732691234" bool(true) array(1) { [0]=> array(2) { [0]=> string(10) "4732691234" [1]=> int(0) } } string(15) "8.11 2010-12-10"
Output for 5.3.4 - 5.3.5
string(20) "/^(?:[4589]\d{9})$/x" string(10) "4732691234" bool(true) array(1) { [0]=> array(2) { [0]=> string(10) "4732691234" [1]=> int(0) } } string(15) "8.10 2010-06-25"
Output for 5.2.14 - 5.2.17, 5.3.3
string(20) "/^(?:[4589]\d{9})$/x" string(10) "4732691234" bool(true) array(1) { [0]=> array(2) { [0]=> string(10) "4732691234" [1]=> int(0) } } string(15) "8.02 2010-03-19"
Output for 5.3.2
string(20) "/^(?:[4589]\d{9})$/x" string(10) "4732691234" bool(true) array(1) { [0]=> array(2) { [0]=> string(10) "4732691234" [1]=> int(0) } } string(15) "8.00 2009-10-19"
Output for 5.2.10 - 5.2.13, 5.3.0 - 5.3.1
string(20) "/^(?:[4589]\d{9})$/x" string(10) "4732691234" bool(true) array(1) { [0]=> array(2) { [0]=> string(10) "4732691234" [1]=> int(0) } } string(14) "7.9 2009-04-11"
Output for 5.2.7 - 5.2.9
string(20) "/^(?:[4589]\d{9})$/x" string(10) "4732691234" bool(true) array(1) { [0]=> array(2) { [0]=> string(10) "4732691234" [1]=> int(0) } } string(14) "7.8 2008-09-05"
Output for 5.2.6
string(20) "/^(?:[4589]\d{9})$/x" string(10) "4732691234" bool(true) array(1) { [0]=> array(2) { [0]=> string(10) "4732691234" [1]=> int(0) } } string(14) "7.6 2008-01-28"
Output for 5.2.5
string(20) "/^(?:[4589]\d{9})$/x" string(10) "4732691234" bool(true) array(1) { [0]=> array(2) { [0]=> string(10) "4732691234" [1]=> int(0) } } string(14) "7.3 2007-08-28"
Output for 5.2.4
string(20) "/^(?:[4589]\d{9})$/x" string(10) "4732691234" bool(true) array(1) { [0]=> array(2) { [0]=> string(10) "4732691234" [1]=> int(0) } } string(14) "7.2 2007-06-19"
Output for 4.3.0 - 5.2.3
string(20) "/^(?:[4589]\d{9})$/x" string(10) "4732691234" bool(true) array(1) { [0]=> array(2) { [0]=> string(10) "4732691234" [1]=> int(0) } } Notice: Use of undefined constant PCRE_VERSION - assumed 'PCRE_VERSION' in /in/2ACee on line 14 string(12) "PCRE_VERSION"