Регулярний вираз для URL — розбір посилань
Налагоджуйте регулярні вирази JavaScript наживо: підсвітка збігів, групи захоплення, прапорці та прев'ю заміни.
Результат
Сторінка стартує з патерном, який не лише знаходить посилання, а й розбирає їх на частини: (?<protocol>https?):\/\/(?<host>[^\s\/?#]+)(?<path>\/[^\s?#]*)?(?<query>\?[^\s#]*)?. Кожен збіг ділиться на чотири іменовані групи — protocol, host, path і query, тож видно не тільки що посилання збіглося, а й яка його частина куди потрапила.
Головну роботу виконують класи символів: [^\s\/?#]+ означає «все до наступного слеша, знака питання чи ґратки» — саме так хост відділяється від шляху, а шлях від query-рядка. Зверніть увагу: ftp://old.server.net у прикладі не збігається, бо група протоколу дозволяє лише http або https — розширте альтернативу, якщо потрібні інші схеми.
Вставте власний текст — лог, Markdown-документ, фрагмент HTML — і дивіться, як підсвітка оновлюється наживо. Поле заміни розуміє посилання на групи, тому кожне знайдене посилання можна переписати: наприклад, обгорнути як [$&] або скоротити до $<host>.