У меня есть регулярное выражение, которое проверяет, является ли строка является URL:Как правильно разделить это регулярное выражение на две строки?
const regex = /(http|https):\/\/(\w+:{0,1}\w*)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%!\-\/]))?/
Я попытался это:
const regex = '/(http|https):\/\/(\w+:{0,1}\w*)?(\S+)(:[0-9]+)?' + // eslint-disable-line
'(\/|\/([\w#!:.?+=&%!\-\/]))?/' // eslint-disable-line
Но регулярное выражение не соответствует больше. То же самое для этого:
const regex = new RegExp(['/(http|https):\/\/(\w+:{0,1}\w*)?(\S+)(:[0-9]+)?', // eslint-disable-line
'(\/|\/([\w#!:.?+=&%!\-\/]))?/'].join('')) // eslint-disable-line
Каков правильный способ сделать это?
EDIT:
Пример строки: http://vrcam-10065475.image.myqcloud.com/7a88620cb5ec7eb90164.jpg?imageView2/2/w/600/h/600/q/100/format/jpg
Используйте 'вар регулярное выражение = новый RegExp ([ '(HTTP | HTTPS): // (\\ w +:? \\ w *)? (\\ S +) (: [0-9] +)? ', // eslint-disable-line' и '' (/ |/([\\ w #!:.? + = &%!/-]))? ']. join (' ')) // eslint-disable-line'. Это: двойная обратная косая черта в нотации конструктора и удаление разделителей регулярных выражений. Hyphen перемещается в конец класса символов всегда будет соответствовать буквальной дефис. –