Volniy

|
Posted: Mon Mar 05, 2007 19:17 Post subject: [BUG] Ошибки при поиске символов с RegExp |
|
|
Чтобы воспроизвести косяк, откройте в листере любой бинарный файл (например любой MP3 файл). В диалоге поиска введите в строку поиска \x00 (поиск нулевого символа) и поставьте галочку Регулярные выражения. На удивление Тотал ничего не находит (даже в файле, состоящем только из одних нулевых символов). Причем сообщения, что, мол, ниче не найдено, Тотал при этом не показывает(!).
Если при тех же условиях попытаться искать символ \x01, то теперь Тотал наконец-то начнет находить то что мы ему заказали, но при этом еще находит и ... нулевой символ .
Сюрпризы ожидают нас и при поиске символов \x0A или \x0D. В малом файле, скорее всего, ничего не будет найдено. По логике оно так и должно быть, если верить в то, что в Тотале поиск с RegExp производится только в пределах одной строки. Но вот что странно, при поиске в больших файлах символы начинают-таки находиться, но это абсолютно произвольные символы
Сказать, что поиск \xnn не работает, я конечно не могу. По крайней мере с другими, проверенными мною ASCII-кодами проблем пока не заметил. Может и все мною описанное выше тоже является нормальным поведением, но оно, как минимум, нуждается в некоторых разъяснениях. |
|