Почему в
match не хочет работать
нежадная директива типа
.*? или
.+?
Смотрите:
alert( "1245;12345".match( /1.*?3.*?5/ ) )
результат: ["
1245;12345"]
alert( "1245;12345".match( /(1.*?3.*?5)/ ) )
результат: ["
1245;12345", "
1245;12345"]
alert( "1245;12345".replace( /^.*(1.*?3.*?5).*$/, "$1" ) )
результат: "
12345" (правильно)
А от
match() ведь ожидалось то, что выдает
replace()
То есть нежадный оператор работает в
replace(), но не работает в
match(). В чем же дело?