Что не так с этим регулярным выражением блокировки Safari?

#swift #regex #safari #safari-extension

#swift #регулярное выражение #safari #safari-расширение

Вопрос:

Я разрабатываю расширение Safari (https://github.com/bcye/Hello-Goodbye в папке Safari) и пытаюсь заблокировать виджеты чата.

Я попытался заблокировать (в синтаксисе расширения Chrome) *://widget.intercom.io/*

Итак, я пытаюсь заблокировать http или https и любой путь на widget.intercom.io

Я опробовал эти два регулярных выражения блокировки Safari (документация: https://developer.apple.com/documentation/safariservices/creating_a_content_blocker ):

https?://widget.intercom.io/(.*)
https?://widget.intercom.io/.

Оба не работают.

Я пытался отлаживать их на https://regex101.com / и это говорит мне, что первый должен сработать.

Ссылка на регулярное выражение101: https://regex101.com/r/N3jUdW/1

Комментарии:

1. Поделитесь с вами точной страницей регулярных выражений 101, чтобы мы могли видеть ваши тестовые данные и играть с ними сами

2. @Alexander Я отредактировал сообщение со ссылкой regex101.com/r/N3jUdW/1

3. Я не знаю, в каком контексте используются эти регулярные выражения, но я подозреваю, что одна из проблем, если такие символы / интерпретируются как «escape-последовательность / «, n интерпретируется как «escape-последовательность n » (которая представляет новые строки). Скорее всего, вам нужно будет удвоить свои косые черты, чтобы у вас было \/ . Первая косая черта запускает escape-последовательность, вторая «завершает» ее и говорит: «нет, нет, я хотел литерал / «, который затем переходит в окончательное регулярное выражение, за которым следует / .

4. Покажите код, как в нем используются эти шаблоны. / нормально, но это зависит от варианта использования.