регулярное выражение соответствует заглавным буквам, пробелам и & amp; символ и апострофы от начала строки до первой запятой

Я пытаюсь это регулярное выражение, но наряду с прописными буквами он как-то соответствует строчным.

preg_match("/^([A-Z&\s\']+),/i", $line, $match);

Есть идеи, где моя ошибка?
Спасибо!

1

Решение

Вам нужно убрать регистр без учета регистра /i:

preg_match('/^([A-Z&\s\']+),/', $line, $match);
^

В противном случае [A-Z] диапазон соответствует обоим [a-z] а также [A-Z] диапазоны.

Детали шаблона:

  • ^ — начало строки
  • ([A-Z&\s\']+) — Группа 1 захватывает 1 или более прописных букв ASCII (A-Z), буквальный &, пробел (\s) или буквальный '
  • , — запятая
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]