Я пытаюсь разобрать строку на компоненты. Мое решение работает для полных строк, но я хочу учесть строки с потенциально меньшим количеством компонентов. Например, я хочу иметь возможность сопоставлять G02F 1/1335
, G02F 1
, G02F
и т. Д. С preg_match, если не все группы захвата совпадают, весь вывод недействителен.php preg_match частичное совпадение
$string = 'G02F 1/1335';
$string = strtoupper(preg_replace('/\s+/', '', $string));
preg_match('%^([A-H])([0-9]{1,2})([A-Z])([0-9]{1,4})/([0-9]{1,6})$%', $string, $parsed);
Вы можете сделать символы или матч группу факультативной с '' – mario
затем вывезти '^ и $', который заставляет регулярное выражение использовать всю строку. –
Вам нужно извлечь что-то конкретное из строки или только для проверки формата? –