но это соответствует строкам где
Строка не начинается с любого из этих
буквы.
Это потому, что квадратные скобки ([]
) обозначают класс символов , а курсор (^
) отрицает класс символов.
Как говорится, почему у вас есть для использования регулярных выражений? Это можно сделать с помощью простого сопоставления строк, которое обычно быстрее, чем регулярное выражение. Если есть совпадение, проверьте и посмотрите, не является ли позиция началом строки. Вы не указали язык, но большинство из них поддерживают это.