Regex для проверки, начинается ли строка с http://или https://
Я пытаюсь установить регулярное выражение, которое будет проверять начало строки, и если оно содержит либо http://
, либо https://
, оно должно соответствовать ему.
Как я могу это сделать? Я пытаюсь выполнить следующее, которое не работает:
^[(http)(https)]://
Ответы
Ответ 1
Ваше использование []
неверно - обратите внимание, что []
обозначает класс символов и поэтому будет только соответствовать одному символу. Выражение [(http)(https)]
преобразуется в "соответствие a (
, h
, a t
, a t
, a p
, a )
или s
." (Повторяющиеся символы игнорируются.)
Попробуйте следующее:
^https?://
Если вы действительно хотите использовать чередование, используйте вместо этого синтаксис:
^(http|https)://
Ответ 2
^https?://
Возможно, вам придется избегать косой черты, в зависимости от контекста.
Ответ 3
Нечувствительность к регистру:
var re = new RegExp("^(http|https)://", "i");
var str = "My String";
var match = re.test(str);
Ответ 4
Это должно работать
^(http|https)://
Ответ 5
^https?:\/\/(.*)
где (.*)
соответствует всем остальным после https://