Вместо усложнения регулярного выражения вы можете попробовать более простой подход:
@
т.е. принимать только те строки, которые не имеют @
в них.
Я хочу получить сайт из строки, поэтому я написал шаблон RegEx, используя match ()
var websiteOutput = string.match(/[-a-zA-Z0-9@:%_+.~#?&//=]{2,256}.[a-z]{2,4}(/[-a-zA-Z0-9@:%_+.~#?&//=]*)?/gi);
Теперь проблема заключается в том, что строка также содержит адреса электронной почты, но я не хочу их сопоставлять, поэтому я подумал об отрицательном lookbehind и lookhead для теста . test @ test . com тест @ тест . com ', но я не уверен, как его реализовать.
Не должно совпадать, но соответствовать:
if(!/@/gi.test(string)){
var websiteOutput = string.match(/[-a-zA-Z0-9@:%_+.~#?&//=]{2,256}.[a-z]{2,4}(/[-a-zA-Z0-9@:%_+.~#?&//=]*)?/gi);
}
Надеюсь, ты можешь мне помочь, Привет Тзимон