Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.09.2023, 15:01
Интересующийся
Отправить личное сообщение для accountnujen Посмотреть профиль Найти все сообщения от accountnujen
 
Регистрация: 23.01.2022
Сообщений: 17

Почему не регуляркой находится кириллический домен и как учитывать домены 2 уровня?
Я хочу найти в тексте все ссылки и обернуть их в тег <a>. Ссылки у меня могут иметь вид: https://google.com, www.google.com, google.com, гугл.рус, поиск.гугл.рус.

На пару с chatgpt удалось добиться только вот такого результата:
Код:
\b[A-Za-zА-Яа-яЁё]*[A-Za-zА-Яа-яЁё]+[.][A-Za-zА-Яа-яЁё]{2,}\b
https://regex101.com/r/4QwNjk/1

Логика была изначально такой: найти всё, что разделено точкой, так как привязываться к https или к www не хочется.

В данном случае, почему то не находится гугл.рус, хотя кириллица указана и от 2 символов...
Как захватывать всё то, что находится до точки (включая http://) - не знаю, а gpt меня не понимает.
Ответить с цитированием
  #2 (permalink)  
Старый 13.09.2023, 16:02
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,709

/(https?:\/\/)?([A-Za-zА-Яа-яЁё]+\.)+[A-Za-zА-Яа-яЁё]{2,}/g
Ответить с цитированием
  #3 (permalink)  
Старый 13.09.2023, 17:15
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

[A-Za-zА-Яа-яЁё]

Можно еще уменьшить, если использовать ключ i
/(https?:\/\/)?([a-zа-яё]+\.)+[a-zа-яё]{2,}/gi
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29