Я пытаюсь это регулярное выражение, но наряду с прописными буквами он как-то соответствует строчным.
preg_match("/^([A-Z&\s\']+),/i", $line, $match);
Есть идеи, где моя ошибка?
Спасибо!
Вам нужно убрать регистр без учета регистра /i
:
preg_match('/^([A-Z&\s\']+),/', $line, $match);
^
В противном случае [A-Z]
диапазон соответствует обоим [a-z]
а также [A-Z]
диапазоны.
Детали шаблона:
^
— начало строки([A-Z&\s\']+)
— Группа 1 захватывает 1 или более прописных букв ASCII (A-Z
), буквальный &
, пробел (\s
) или буквальный '
,
— запятаяДругих решений пока нет …