如何使用Javascript从字符串中间提取文本?
我有这些字符串:如何使用Javascript从字符串中间提取文本?,javascript,regex,Javascript,Regex,我有这些字符串: baseUrl = "http://www.example.com" baseUrl = "https://secure.example-server.com:443" 有人能告诉我如何从baseUrl提取服务器信息,以便获得“示例”和“示例服务器”您可以使用regex: baseUrl.match(/\.(.*?)\.co/i)[1]; 正则表达式解释 /:正则表达式的分隔符 \.:匹配文字(需要转义) ():捕获组 *?:匹配任何字符串 co:匹配字符串co i:区分大
baseUrl = "http://www.example.com"
baseUrl = "https://secure.example-server.com:443"
有人能告诉我如何从baseUrl提取服务器信息,以便获得“示例”和“示例服务器”您可以使用
regex
:
baseUrl.match(/\.(.*?)\.co/i)[1];
正则表达式解释
/
:正则表达式的分隔符\.
:匹配
文字(需要转义)()
:捕获组*?
:匹配任何字符串co
:匹配字符串co
i
:区分大小写匹配[1]
:获取捕获组看看这个免费库:。您可以使用split(“.”)在某些字符处拆分字符串;(见附件) 然后,您可以将结果与预定义的单词进行比较
或者取结果的第二个元素,通常(?)就是您要查找的内容。如果您只想提取两个
'之间的字符串。
s(或URL
中的域名),您可以尝试以下方法:
var firstDotPos = baseUrl.indexOf(".");
var secondDotPos = baseUrl.indexOf(".",firstDotPos);
var yourString = baseUrl.substring(firstDotPos + 1, 18);
console.log(yourString )
您可以使用
split()
将其拆分为一个数组,并使用slice()
提取所需的数组,如下所示:
输入
输出
可能重复的正则表达式。这里只有一个正则表达式。希望这有帮助。
baseUrl = "http://www.example.com"
baseUrl2 = "https://secure.example-server.com:443"
const base = baseUrl.split(".")
const base2 = baseUrl2.split(".")
console.log("Array1 :: ",base)
console.log("Array2 : ",base2)
console.log(base.slice(-2,-1))
console.log(base2.slice(-2,-1))
Array1 :: ["http://www","example","com"]
Array2 : ["https://secure","example-server","com:443"]
["example"]
["example-server"]