Регулярное выражение (обратные ссылки)

243
05 августа 2021, 02:10

Подскажите, почему данное регулярное выражение \b(\w+)\b \b\1\b выделяет two two и five five, но не выделяет six, six и seven. seven. с разделителями в виде запятой и точки, несмотря на присутствие символа границы слова \b.

Ссылка на regexp: https://regex101.com/r/bGKAtL/1

Answer 1

Пробел не может найти запятую или точку.

Используйте

preg_match('~\b(\w+)\W+\1\b~u', $text, $matches)

См. пример работы регулярного выражения.

Главное отличие — шаблон \W+, который находит 1 и более символов, отличных от букв, цифр и некоторых других символов. Поддержка кириллицы осуществляется с помощью модификатора u.

READ ALSO
Связи в Pivot таблице. Laravel

Связи в Pivot таблице. Laravel

У меня есть связь MtoM, через pivot таблицу в LaravelВзять дополнительные поля из pivot таблицы не составляет труда (withPivot), а вот как быть если в pivot у меня...

176
В чём разница между new mysqli и mysqli_connect?

В чём разница между new mysqli и mysqli_connect?

В чём разница между new mysqli() и mysqli_connect()?

197
MySQL в Opencart импорт

MySQL в Opencart импорт

Проблема следующаяЕсть скрипт, который пачками по 1000 товаров импортит товар в магазин на Opencart 2

101