Я сделал безумное предположение о том, что вы пытаетесь сделать. Я предполагаю, что вам дана строка нулей и единиц и wi sh, чтобы заменить '1'
на каждый '0'
, за которым следует менее n
символов, или если есть хотя бы один '1'
среди следующих n
символов.
Вот две строки.
0011000010010100000
1111011111111100111
Первая преобразуется во вторую, если при n = 3
каждое совпадение первой строки следующим регулярным выражением преобразовано в '1'
:
/0(?=.{0,2}(?:$|1))/
Здесь 2
равно n-1
.
Запустите двигатель!
Javascript ' Механизм регулярных выражений s выполняет следующие операции.
0 : match '0'
(?= : begin a positive lookahead
.{0,2} : match 0-2 characters
(?:$|1) : match the end of the string or '1'
) : end positive lookahead