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://