3v4l.org

run code in 300+ PHP versions simultaneously
<?php $pattern = '~ \A (?=\p{Latin}) (*asr: [\pL\pM ]+) \z ~xu'; $tests = [ 'Das Wohltemperierte Klavier', 'Добре темперирано пиано', 'Le Clavier bien tempére'."\xcc\x81", // <-- combining acute 'Il clavicembalo ben temperato', '平均律クラヴィーア曲集', 'El clavecí ben temprat', 'เดอะเวลล์-เทมเพิร์ดคลาเวียร์', 'Eliška Koňaříková', 'Eliška Koňaříková 1 2 3', ]; print_r(preg_grep($pattern, $tests));
Output for 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
Array ( [0] => Das Wohltemperierte Klavier [2] => Le Clavier bien tempéré [3] => Il clavicembalo ben temperato [5] => El clavecí ben temprat [7] => Eliška Koňaříková )

preferences:
68.83 ms | 1001 KiB | 4 Q