3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $sourcestring=' part "R102" { type : "1AB000150018", } part "R103" { type : "1AB000150018", } part "R106" { type : "1AB000150018", } part "R107" { type : "1AB000150018", } part "R111" { type : "1AB000150018", } part "R112" { type : "1AB000150018", } part "C1" { type : "1AB008141056", } part "C105" { type : "1AB010050101", } part "C108" { type : "1AB010050101", } part "C111" { type : "1AB010050101", } part "C112" { type : "1AB010050101", } part "C116" { type : "1AB010050101", } part "C119" { type : "1AB010050101", } part "CR101" { type : "1AB013040001", } part "R108" { type : "1AB134110002", } part "R109" { type : "1AB134110002", } part "C101" { type : "1AB169790006", } part "C102" { type : "1AB169790006", } part "C103" { type : "1AB169790006", } part "C104" { type : "1AB169790006", } part "C120" { type : "1AB169790006", } part "PW1" { type : "3EM13494AA", } part "HY102" { type : "NOT-INST-PRT", } part "Q101" { type : "NOT-INST-PRT", } part "Q102" { type : "NOT-INST-PRT", } part "Q103" { type : "NOT-INST-PRT", } part "AT1" { type : "1AB103050002", }'; preg_match_all('/^\s*part\s"([^"]*)"[^{]*{[^}]*\stype\s*:\s+"(?![NOT_||BA])([^"]*)"/ism',$sourcestring,$matches); echo "<pre>".print_r($matches,true); ?>
Output for 4.3.0 - 5.6.28, hhvm-3.10.0 - 3.12.0, 7.0.0 - 7.1.0
<pre>Array ( [0] => Array ( [0] => part "R102" { type : "1AB000150018" [1] => part "R103" { type : "1AB000150018" [2] => part "R106" { type : "1AB000150018" [3] => part "R107" { type : "1AB000150018" [4] => part "R111" { type : "1AB000150018" [5] => part "R112" { type : "1AB000150018" [6] => part "C1" { type : "1AB008141056" [7] => part "C105" { type : "1AB010050101" [8] => part "C108" { type : "1AB010050101" [9] => part "C111" { type : "1AB010050101" [10] => part "C112" { type : "1AB010050101" [11] => part "C116" { type : "1AB010050101" [12] => part "C119" { type : "1AB010050101" [13] => part "CR101" { type : "1AB013040001" [14] => part "R108" { type : "1AB134110002" [15] => part "R109" { type : "1AB134110002" [16] => part "C101" { type : "1AB169790006" [17] => part "C102" { type : "1AB169790006" [18] => part "C103" { type : "1AB169790006" [19] => part "C104" { type : "1AB169790006" [20] => part "C120" { type : "1AB169790006" [21] => part "PW1" { type : "3EM13494AA" [22] => part "AT1" { type : "1AB103050002" ) [1] => Array ( [0] => R102 [1] => R103 [2] => R106 [3] => R107 [4] => R111 [5] => R112 [6] => C1 [7] => C105 [8] => C108 [9] => C111 [10] => C112 [11] => C116 [12] => C119 [13] => CR101 [14] => R108 [15] => R109 [16] => C101 [17] => C102 [18] => C103 [19] => C104 [20] => C120 [21] => PW1 [22] => AT1 ) [2] => Array ( [0] => 1AB000150018 [1] => 1AB000150018 [2] => 1AB000150018 [3] => 1AB000150018 [4] => 1AB000150018 [5] => 1AB000150018 [6] => 1AB008141056 [7] => 1AB010050101 [8] => 1AB010050101 [9] => 1AB010050101 [10] => 1AB010050101 [11] => 1AB010050101 [12] => 1AB010050101 [13] => 1AB013040001 [14] => 1AB134110002 [15] => 1AB134110002 [16] => 1AB169790006 [17] => 1AB169790006 [18] => 1AB169790006 [19] => 1AB169790006 [20] => 1AB169790006 [21] => 3EM13494AA [22] => 1AB103050002 ) )