2011-02-28 137 views

回答

4

该正则表达式使用了一个后向断言,而这些在JavaScript中不受支持。你可以使用子表达式撷来达到同样的结果,但:

// $1 references the first captured sub-expression 
strCellID.replace(/(_m)\d+(?=_l)/g, "$1-"); 

参见:

+0

你能检查你的语法,这并未” t似乎工作 – user517406 2011-02-28 13:57:29

+0

@ user517406:语法没有错,正则表达式解析得很好。 *似乎不起作用*不是一个很好的问题描述。然而,我猜你可能没有将结果赋值给任何东西 - 字符串是不可变的,因此replace()不会改变原始字符串,它会返回一个包含结果的新字符串。如果你在我给你的代码行前加上了一个'strCellID =',它就可以解决这个问题。如果这不是你的问题,你需要更具体。也许你可以提供一些输入和预期的输出样本? – 2011-02-28 14:02:05

+0

谢谢,那是我的问题。如果我想这样做'code'newCellID = newCellID.replace(/(_l)\ d +(?= _ o)/ g,“$ 1”+ msg.d); '代码'我能使用相同的语法吗? – user517406 2011-02-28 14:28:56