2013-10-25 92 views
1

我已经写在JavaScript(网页),但由于我尝试使用RegExpression它应该几乎相同。正则表达式(字符串比较)

我有一个字符串,其中有一些坐标,由空间charakter分隔。

var coords = "0:0 0:0:0 1:0:1 0:0:0:1"; 
var part = "0:0"; 

我想要所有以part(“0:0”)的值开头的坐标;

我tryed什么是一样的东西:

var reg = new RegExp(part+"*"); 
alert(coords .match(reg)); 

但它似乎没有propperly工作。

它应与 “0:0”, “0:0:0”, “0:0:0:1”,而不是 “1:0:1”(编辑)

任何人有一个想法?!

亲切的问候!

+0

试试这个var reg = new RegExp(part,“*”); – N20084753

+1

你不清楚。它是否匹配“0:0:0”和/或“0:0:0:1”? – epascarello

+0

它应该匹配“0:0”和“0:0:0”和“0:0:0:1”但不是“1:0:1” – marius

回答

1

你应该使用这个表达式:

var reg = new RegExp("(^|\\s)(" + part + "\\S*)", "g"); 

0:0后,所有非空格字符匹配,当它击中空格或行结束停止。

+0

仍然不能正常工作:/只打印一次“0:0”,我已经阅读过它,但并不知道它包含行结束,我是否可能必须设置修饰符? – marius

+0

@marius:您需要使用全局开关来捕获所有字符串,请参阅现在编辑的答案。 – anubhava

+0

啊好吧似乎合法,但我回来的不是它的三次坐标“0:0” – marius