3

我想分割这条线:

at myFunc http://mysite.com/test.php:13:24

进入这个:

at myFunc http://mysite.com/test.php
13
24

我试过使用正则表达式(见下文),但它们是错误的:

line.split( /[^http]:/ );
line.split( /[^http][:]/ );
line.split( /(?!http):/ );
line.split( /(?!http)[:]/ );

我该怎么做?

4

1 回答 1

3

JavaScript 没有lookbehinds :(

Hack:反转字符串

var reverse = function(s) { return s.split('').reverse().join(''); };
var parts = reverse(line).split( /:(?!ptth)/ ).map(reverse).reverse();

调整问题 #1:匹配冒号后不跟 //

var parts = line.split( /:(?!\/\/)/ );

调整问题 #2:仅匹配最后两个冒号

var parts = line.match( /(.*):(.*):(.*)/ ) ;
parts.shift();
于 2013-06-16T01:57:32.020 回答