【发布时间】:2012-11-14 20:16:20
【问题描述】:
我想把'9088{2}12{1}729'拆分成[ "9088", "{2}12", "{1}729" ]
或者对我更有用:[ "9088", "2-12", "1-729" ]
试过了:
'9088{2}12{1}729'.split(/\{[0-9]+\}/); => ["9088", "12", "729"]
也试过了:
'9088{2}12{1}729'.match(/\{[0-9]+\}/); => ["{2}"]
我知道它可能涉及到一些其他的正则表达式字符串来拆分,包括分隔符。
在php中试过了,我想你也可以一行完成。
preg_split( '/{/', preg_replace( '/}/', '-', "9088{2}12{1}729" ) )
Array ( [0] => 9088 [1] => 2-12 [2] => 1-729 )
只需用 split 包装替换函数即可获得正确的偏好顺序。
我觉得我更喜欢 js :)
【问题讨论】:
标签: javascript regex lookahead