2011-12-13 87 views
1

我想分割期间的字符串。例如。这样的字符串会...
正则表达式在期间分割

1) a.b.c 
2) a\.x.b.c 

结果1)应该是... ["a", "b", "c"]
结果2)应该是... ["a.x", "b", "c"]

感谢 PRASHANT

+3

为什么情景2中忽略了第一个时期? –

+0

由于转义而被忽略“\” – user1031396

+1

编辑会改变某些东西;) –

回答

0

因为Javascript正则表达式没有后顾之忧,所以我建议你看看this,它们模仿了lookbehind的行为。

+0

忘了提及,这需要在Javascript – user1031396

+0

@ user1031396,改变一切,因为JavaScript不支持向后看。让我看看我能否找到解决方法.. – SERPRO

0

我对JavaScript不太熟悉,但也许这足以让您开始朝正确的方向发展。

var s='a\\.x.b.c'; 
s.match(/(([^\\.]|\\.)+)/g, function($1) { print($1); }); 

结果:

a\.x,b,c 

你是不是反斜杠应该如何工作的清楚,所以我假设你正在使用一个反斜杠作为一般逃逸机制;这意味着\\.表示一个文字反斜杠(转义反斜杠),后面跟着一个文字,即非转义点。如果这不是你的意思,你需要更详细地定义这个(或者,更可能的是,有一个顿悟,你正在做错错误)。

+0

你说得对。我了解到它必须是“a \\。x.b.c”而不是“a \ .x.b.c”。我会在稍后尝试您的解决方案。谢谢。 – user1031396