У меня есть это регулярное выражение для общих доменов, но что мне нужно изменить, чтобы оно извлекало только домены .com?
^(?:https?:\/\/)?(?:[^@\/\n]+@)?(?:www\.)?([^:\/\n]+)
Трудно угадать ваши потребности, но если вы хотите просто сопоставить те, которые заканчиваются на .com, вы можете просто добавить его в регулярное выражение следующим образом:
.com
^(?:https?:\/\/)?(?:[^@\/\n]+@)?(?:www\.)?([^:\/\n]+)\.com
Рабочая демоверсия
, если вам просто нужно знать, есть ли попадание (вам не нужна группировка для замены и т. Д.), Просто добавьте
(\.com)
до конца.
у вас есть некоторый избытоктам (должен иметь http (s) 0 или 1 раз, должен иметь www. 0 или 1 раз)
, но это будет
Вы захотите добавить .\com в свою основную группу.
.\com
Ultimatey Я думаю, что вы ищете:
^(?:https?:\/\/)?(?:[^@\/\n]+@)?(?:www\.)?([^:\/\n]+\.com)
Это можно увидеть работающим здесь:
const regex = /^(?:https?:\/\/)?(?:[^@\/\n]+@)?(?:www\.)?([^:\/\n]+\.com)/; const sites = [ 'https://www.example.com', 'https://www.example.org', 'www.exampe.com', 'www.example.org' ] sites.forEach(function(site) { console.log(regex.test(site)); })