Javascript 正则表达式(字符串比较)

Javascript 正则表达式(字符串比较),javascript,regex,expression,Javascript,Regex,Expression,我已经用javascript(web)编写了这篇文章,但由于我尝试使用RegExpression,它的工作原理应该几乎相同 我有一个字符串,其中有一些坐标,由一个空格字符分隔 var coords = "0:0 0:0:0 1:0:1 0:0:0:1"; var part = "0:0"; 我希望所有坐标都以part的值(“0:0”)开始 我尝试的是: var reg = new RegExp(part+"*"); alert(coords .match(reg)); 但这似乎不太管用 它应

我已经用javascript(web)编写了这篇文章,但由于我尝试使用RegExpression,它的工作原理应该几乎相同

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

var coords = "0:0 0:0:0 1:0:1 0:0:0:1";
var part = "0:0";
我希望所有坐标都以part的值(“0:0”)开始

我尝试的是:

var reg = new RegExp(part+"*");
alert(coords .match(reg));
但这似乎不太管用

它应该匹配“0:0”、“0:0:0”和“0:0:0:1”,但不匹配“1:0:1”(编辑)

谁有主意


亲切的问候

您应该使用这个正则表达式:

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

即匹配
0:0
之后的所有非空格字符,并在碰到空格或行尾时停止。

应使用此正则表达式:

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

即匹配
0:0
之后的所有非空格字符,并在到达空格或行尾时停止;你不清楚。它是否匹配
0:0:0
和/或
0:0:0:1
?它应该匹配“0:0”和“0:0:0”以及“0:0:1”,但不匹配“1:0:1”。请尝试此var reg=new RegExp(部分“*”);你不清楚。它是否匹配
0:0:0
和/或
0:0:0:1
?它应该匹配“0:0”和“0:0:0”以及“0:0:1”,但不匹配“1:0:1”仍然不工作:/0只打印一次“0:0”,我读过它,但不知道它包含行尾,我可能需要设置修改器吗@马吕斯:你需要使用全局开关来捕获所有字符串,请看编辑后的答案。啊,好的,似乎是正确的,但我得到的不是坐标,而是三次“0:0”,实际上
\s
应该是
\\s
我刚刚测试并更正了我的代码。现在检查。仍然不工作:/0只打印一次“0:0”,我读过,但不知道它包含行结束,我可能需要设置修改器吗@马吕斯:你需要使用全局开关来捕获所有字符串,请看编辑后的答案。啊,好的,似乎是正确的,但我得到的不是坐标,而是三次“0:0”,实际上
\s
应该是
\\s
我刚刚测试并更正了我的代码。现在检查一下。