Можно ли одной операцией заменить несколько идущих подряд табуляторов на один табулятор И несколько идущих подряд пробелов на один пробел? Или это операция в два шага?
VladSh wrote:SearchReplaceEx.js слишком много телодвижений в этом случае.
Два хоткея + два клика мыши - это разве много?
Впрочем, если попросить автора скрипта, уважаемого KDJ, наверняка он поможет. Надо только сформулировать, что же в итоге требуется...
А почему? Здесь же только числа в основном, жадность/сверхжадность вроде не должна иметь значение?
При этом поиск "^(-?\d+)" вполне работает.
Posted: Tue Apr 07, 2015 4:30 pm
by Drugmix
Skif_off
похоже, что употребление одной таблетки от жадности ? внутри захватывающей группы () лечит от жадности всё внутри группы, а не только ту часть, к которой относилась таблетка. Достаточно вынести таблетку за скобки, как всё снова начинает работать:
Drugmix
Почему таблетка от жадности? Ведь тут использую ? как замену {0,1}. Хотя мысль, кажется, понял.
Раз выражение "^(-?\d+)" всё-таки работает как "^(-{0,1}\d+)", тогда да, наверное, баг.
Posted: Tue Apr 07, 2015 5:05 pm
by Drugmix
Skif_off
да, верно подмечено. Я не совсем точно выразился: жадность же бывает только у квантификаторов, а когда ? используется не после квантификатора, то он сам становится квантификатором ({0,1}).
А проблема, получается, несколько шире:
Skif_off wrote:Раз выражение "^(-?\d+)" всё-таки работает как "^(-{0,1}\d+)", тогда да, наверное, баг.
Бага не было бы, если бы всё именно так и работало бы. А оно как раз-таки работает не так и в этом и проблема.
Было справдливо замечено, что ?, идущий не после квантификатора, можно заменить на {0,1}.
Получается:
YuS
Спасибо, так работает. А ведь таблицу в руководстве сначала прочитал
Serge Yolkin
Можно поподробнее? С \b были неожиданности, привык обходиться без.
Posted: Tue Apr 28, 2015 6:07 pm
by YuS
Skif_off wrote:YuS
Спасибо, так работает. А ведь таблицу в руководстве сначала прочитал
Здесь просто нет перебора вариантов (вернее он есть, но только вперед), поэтому удобнее использовать для данного случая, но, кстати, есть некоторая вероятность ошибки при поиске шаблона, которая исключается при использовании "\b":
Skif_off wrote:
Serge Yolkin
Можно поподробнее? С \b были неожиданности, привык обходиться без.
сверхжадный шаблон захватывает максимально возможное количество символов и ничего уже не отдает, т.е. перебор вариантов отсутствует. В данном случае, шаблон