3v4l.org

run code in 300+ PHP versions simultaneously
<?php $urls = <<<URLS /ru949-mlc /ru949-mlc/ //ru949-mlc/ /fff/ru949-mlc /fff/ru949-mlc/ /fff/ru949-mlc/dededede URLS; // should match only last two urls $regex = <<<REGEX /(?!(^\/[a-z]{2}\d{3}\-[a-z]{3}\/))(\/(?<sku>[a-z]{2}\d{3}\-[a-z]{3})\/)/x REGEX; foreach (explode("\n", $urls) as $url) { $match = preg_match($regex, $url, $matches); print_r([$url, $match, $matches['sku'] ?? null]); } //
Output for 7.0.0 - 7.0.24, 7.1.0 - 7.1.20, 7.2.6 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
Array ( [0] => /ru949-mlc [1] => 0 [2] => ) Array ( [0] => /ru949-mlc/ [1] => 0 [2] => ) Array ( [0] => //ru949-mlc/ [1] => 1 [2] => ru949-mlc ) Array ( [0] => /fff/ru949-mlc [1] => 0 [2] => ) Array ( [0] => /fff/ru949-mlc/ [1] => 1 [2] => ru949-mlc ) Array ( [0] => /fff/ru949-mlc/dededede [1] => 1 [2] => ru949-mlc )

preferences:
155.3 ms | 409 KiB | 5 Q