1

已经很晚了,我真的很累,我很难弄清楚一件简单的事情。

我有一个字符串,其形式为

BROADCAST FROM x\ny\nz

...其中x是一个没有空格或换行符的单词,y是一个数字,并且z是一个字符串,其字符长度为y.

我所需要的只是找到 的起始索引,z以便我可以string.slice(indexOfZ)取而代之。

这个正则表达式的形式是什么,我将如何用 JavaScript 编写它?

效果应该是...

pattern = /\n[0-9]{1,}\n.*/;
var index = string.match(pattern);

我在某个地方错了吗?

4

3 回答 3

3

为什么/^BROADCAST FROM \w+ \d+ (.+)$/行不通?

于 2012-05-14T03:55:04.203 回答
1

正则表达式很好,但在这种情况下,为什么要让自己很难。

var aParts = sFullString.split("\n");

编辑:看起来你只是想要 z 所以:

var z = aParts[2];
于 2012-05-14T03:54:10.820 回答
0

找到这个的一种方法是用 / 分割字符串

var myString = x\ny\nz;
var str =  myString.split('\'); //if the format is same.

var index = str[2].indexOf("z").

可能还有另一种解决方案。但这是我目前想到的。

希望这个有帮助。

于 2012-05-14T03:53:17.943 回答