Javascript 按冒号拆分字符串,但忽略URL';s

Javascript 按冒号拆分字符串,但忽略URL';s,javascript,Javascript,我需要按冒号拆分字符串,但忽略该字符串中URL中的冒号。例如: var str = 'www.website.com:http://website.com/'; 结果应该是: ["www.website.com", "http://website.com/"] 行中可能有很多地址 我已经尝试了javascriptsplit()和一些正则表达式,比如(:)(?:[^\/][^\/]),但没有多大帮助。如果使用负前瞻,可以过滤掉任何协议(冒号后跟双斜杠)和端口(冒号后跟数字: var str =

我需要按冒号拆分字符串,但忽略该字符串中URL中的冒号。例如:

var str = 'www.website.com:http://website.com/';
结果应该是:

["www.website.com", "http://website.com/"]
行中可能有很多地址


我已经尝试了javascript
split()
和一些正则表达式,比如
(:)(?:[^\/][^\/])
,但没有多大帮助。

如果使用负前瞻,可以过滤掉任何协议(冒号后跟双斜杠)和端口(冒号后跟数字:

var str = 'www.website.com:http://website.com/:test.com:5000:test.co.uk';  
var split = str.split(/:(?!\/\/|\d)/);

你有没有尝试过什么,有没有代码可以共享?或者你只是希望有人为你编写解决方案?我不确定这个问题是否应该被否决。一个干净的代码并不简单。端口呢,例如,
domain.com:5000
?…然后在域名上以数字开头:37signals.com失败(使用与当前“test.com:5000”测试用例相同的格式)(答案v2)…这就是为什么OP永远不应该使用实际的字符串字符(以及非常频繁的字符串)作为分隔符的原因。。。