Регулярное выражение. * Может успешно соответствовать строке из нулевых символов или ничего, что происходит между соседними символами.
Таким образом, ваш шаблон соответствует нулевым символам в скобках, а затем соответствует нулевым символам сразу после этого.
Таким образом, если бы ваше регулярное выражение было /f(.*)\1/
, оно совпадало бы со строкой "foo" между 'f' и первым 'o'.
Вы можете попробовать использовать .+
вместо .*
, так как это соответствует одному или нескольким вместо нуля или более. (Используя. + Вы должны соответствовать 'oo' в 'foo')