如何在开始时检查字符串是否包含http://

irl*_*irl 5 regex string

我希望能够检查一个字符串,看它是否在开始时有http://,如果没有添加它.

if (regex expression){
string = "http://"+string;
}
Run Code Online (Sandbox Code Playgroud)

有谁知道要使用的正则表达式?

Dav*_*ble 47

如果您不需要正则表达式来执行此操作(取决于您使用的语言),您只需查看字符串的初始字符即可.例如:

// C#
if (!str.StartsWith("http://"))
    str = "http://" + str;

// Java
if (!str.startsWith("http://"))
    str = "http://" + str;

// JavaScript/TypeScript
if (str.substring(0, 7) !== 'http://')
    str = 'http://' + str;
Run Code Online (Sandbox Code Playgroud)

  • 愿许多很多人赞成你.有时,正则表达式是矫枉过正的. (3认同)

Ada*_*ire 8

应该:

/^http:\/\//
Run Code Online (Sandbox Code Playgroud)

并且请记住使用!not(您没有说出哪种编程语言),因为您正在寻找不匹配的项目.


Chr*_*ett 6

在JavaScript中:

if(!(/^http:\/\//.test(url)))
{
    string = "http://" + string;
}
Run Code Online (Sandbox Code Playgroud)


小智 5

var url = "http://abcd";
var pattern = /^((http|https|ftp):\/\/)/;

if(!pattern.test(url)) {
    url = "http://" + url;
}

alert(url);
Run Code Online (Sandbox Code Playgroud)