仅替换部分匹配

时间:2016-02-02 21:24:37

标签: javascript regex

我有正则表达式,目前看起来像这样:

/((0{32})([0-1]{48}){16})/

基本上,将“0”匹配32次,然后将“0”或“1”匹配48次,然后将该模式匹配16次。似乎适用于str.match()

我要做的是将“0”匹配的仅替换为第一部分(32次,每次16次)和“1”,而不是“0” “s匹配在第二部分([0-1]范围48)。

我似乎无法理解今天如何实现这一目标。

正则表达式模式是单独生成的,但它匹配的字符串将始终只包含“0”和“1”。是的,我确信这看起来很奇怪,但这正是我需要发生的事情。

1 个答案:

答案 0 :(得分:3)

你需要使用一个积极的先行来断言32个零后面必须跟着48个零和零,但实际上并没有捕获它们。例如:

/((0{32})(?=([0-1]{48}){16}))/