Почему регулярное выражение возвращает слово с лишними символами?

Скриншот с regex10

/[^а-яёА-ЯЁa-zA-Z0-9_]qwe[^а-яёА-ЯЁa-zA-Z0-9_]/ui

<br>qwe<div>

Ответы (1 шт):

Автор решения: Alpensin
 [^а-яёА-ЯЁa-zA-Z0-9_]

Ищет один символ, не входящий в перечисленные здесь. ^ в начале означает искать то, что не входит в перечисленное. Здесь не перечислены <>, поэтому он их учитывает в поиске. Чтобы здесь найти qwe, достаточно просто шаблона qwe . Ну или выделить в этом шаблоне группу /[^а-яёА-ЯЁa-zA-Z0-9_](qwe)[^а-яёА-ЯЁa-zA-Z0-9_]/ui

→ Ссылка