Все задачи

Маленькие слабости-2

18 Jun 2013

Программист, который не любил примечания в скобках (была такая история), учел свою ошибку со скобками и исправил однострочник.

Получилось так:

perl -i -pe 's/\(.*\)//' some-file.txt

И знаете что?

Подсказка

Показать

Ну, (почти) все было (почти) хорошо.

Подсказка-2

Показать

Но строчка из предыдущей подсказки, например, превращалась в

Ну, хорошо.

вместо

Ну, все было хорошо.

Разоблачение

Показать

Звездочка * – жадный квантификатор, так что регулярное выражение \(.*\) “съедает” подходящую строчку максимальной длины: от первой открывающей скобки до последней закрывающей. В случае, когда на одной строке встречаются несколько пар скобок, это приводит к неправильным результатам.