Регулярка для валидных телеграм каналов
Пытаюсь выбрать валидные ссылки на телеграм каналы. Есть массив строк вида :
https://t.me/group1
https://t.me/group2
https://t.me/botgroup1
https://t.me/groupbot
https://t.me/group_bot
https://t.me/joinchat/xR7tqA43Dg
https://www.google.com/en/blabla
Из них подходят первые 3. Нужно выбрать в которых не присутствует joinchat и bot на конце.
Такой регуляркой выбирает тг-каналы, исключая вхождение joinchat.
/t.me\/(?!.*?(?:joinchat))([a-zA-Z0-9_]{5,32})/g;
Но не могу сообразить как сделать исключение bot на конце.
Ответы (1 шт):
Автор решения: Wiktor Stribiżew
→ Ссылка
Используйте
(?<![^\/])t\.me\/(?!.*?joinchat)(?!.*bot$)[a-zA-Z0-9_]{5,32}$
(?!.*?joinchat)- сразу после текущей позиции в строке не должно бытьjoinchat(?!.*bot$)- в конце строки не должно бытьbot.