M03G
@M03G

Как написать регулярное выражение, находящее все вхождения в тексте?

Задача - написать регулярное выражение, находящее все вхождения в тексте. Искать необходимо по шаблону [url|text_url]. Например, [http://www.yandex.ru/капер/ert.php?wer=786_7&... текст].
Исходные данные для поиска:
Это просто обычный текст, который может быть на разных языка [http://www.y.ru/капер/ert.php?wer=7_7&r-r=7#2... текст] text test text [http://www.пурум.рф/|rhenjq cfqn]dfshj тоже тест
Требуемый результат:
[http://www.yandex.ru/капер/ert.php?wer=786_7&... текст]
[http://www.пурум.рф/|rhenjq cfqn]
Следует учитывать, что до и после квадратных скобок может быть как пробел так и любой другой символ.
Сам пока дошёл только до подобного: /(\[.+?\|.+?\])/ или /(\[[^\[\]]+\|[^\[\|]+\])/. В моей регулярке проблема в том, что по ней находится всё по 2 раза. Ну и, возможно, она не оптимальна и не логична.
п.с. Так как местный парсер всё съедает, линк для теста с входными данными - goo.gl/k8Zvk4
  • Вопрос задан
  • 3072 просмотра
Решения вопроса 1
@Shybko
Напиши вот так regexpr.ru/?pattern=%2F%5C%5B%28.%2B%3F%5C%7C.%2B%...
Все правильно находится
В массив n - помещается полностью строка которая соответствует регулярному выраженю
В массив n.1 - помещается текст который помещается (в данном случае) в первую подмаску.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы