Ну, это необходимо, если замена потенциально создает новые совпадения на следующей итерации. Это не очень расточительно, потому что это только и дополнительная проверка в худшем случае.
Идет по коду, который соответствует, кажется маловероятным, что он будет создавать новые матчи путем замены, однако: он очень строгий в отношении того, что он соответствует.
РЕДАКТИРОВАТЬ: Чтобы быть более конкретным, он пытается сопоставить скобу угла открытия, а затем косой чертой, за которой следует одно из нескольких ключевых слов, за которым следует любое количество символов, которые не являются скобами для угла закрытия и, наконец, , Если ввод следует за синтаксисом, он будет проглочен целиком. Если он неправильный (например, несколько углов открытия и закрытия угла), он будет генерировать мусор, пока он не сможет найти подстроки, соответствующие исходной последовательности.
Итак, нет. Если у вас нет кода <<iframe>iframe>
, повторения не требуется. Но тогда вы имеете дело с уровнем суп-тега, регулярное выражение недостаточно для того, чтобы в любом случае (например, оно не получится на < iframe>
с дополнительным пространством).
EDIT2: Это также немного странным, что шаблон соответствует ноль или более слэши в начале тега (он должен быть ноль или один). И если мое знание регулярного выражения не слишком ржавое, окончательный *+
тоже не имеет особого смысла (звездочка означает ноль или больше, плюс означает один или несколько, может быть, это жадный синтаксис или что-то подобное?).