Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Не работает регулярное выражение в Total Commander

 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
svich2008



Joined: 17 Apr 2021
Posts: 6

Post (Separately) Posted: Sat Apr 17, 2021 22:16    Post subject: Не работает регулярное выражение в Total Commander Reply with quote

Почему это регулярное выражение не работает в total commander (((^[<br]+.[>])(\s+)){4,}) ?

В Nodpad++ это работает.
Мне нужно: найти в тексте моих файлов одинаковые повторяющиеся строки
количество строк, точно больше 4 строк
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1232

Post (Separately) Posted: Sat Apr 17, 2021 23:37    Post subject: Reply with quote

svich2008
Какие-то конкретные строки или просто одинаковые? Предположил было, что речь о поиске нескольких "<br>" подряд, но выражение странное, а "[>]" просто бессмысленно.
Back to top
View user's profile Send private message
svich2008



Joined: 17 Apr 2021
Posts: 6

Post (Separately) Posted: Sun Apr 18, 2021 00:03    Post subject: Reply with quote

Нужно найти строки в тексте:
<br>
<br>
<br>
<br>
<br>
<br>
<br>
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1232

Post (Separately) Posted: Sun Apr 18, 2021 03:32    Post subject: Reply with quote

ТС воспринимает текст как одну строку и не поддерживает модификатор (?m), поэтому без "^". Точка намекает на возможность "<br/>"? Можно попробовать как-то так
Code:
(<br/?>\s+){4,}
Back to top
View user's profile Send private message
svich2008



Joined: 17 Apr 2021
Posts: 6

Post (Separately) Posted: Sun Apr 18, 2021 10:59    Post subject: Reply with quote

Поправил Ваш код для ТС ([<br]+?[>]\s+){4,}
Но он тоже не работает. Я не понимаю.

Добавлено спустя 4 минуты:

Может быть есть заморочка с юникодом unicode-table.com ?
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Sun Apr 18, 2021 11:55    Post subject: Reply with quote

svich2008
Вы не объясните поподробнее, чего именно пытались добиться правкой регулярки (конкретно и безотносительно к тому, правильна она была или нет, с учётом сказанного здесь) и, главное, какими вы хотели бы видеть результаты своего поиска при его успехе?
Поиск текста "в Total Commander" может означать только поиск в Листере, во внутреннем просмотрщике (ибо больше в TC это делать просто негде). Но там иной принцип работы (из справки: "программа поддерживает только поиск в пределах одной строки"), а вы, как я понял, хотите увидеть подсвеченными наборы одинаковых строк более заданного количества. Если регулярку применить к цепочке чем-то разделённых в одной строке <br>, их найти можно. Но у вас-то разные строки! Даже если пока оставить в покое кодировки, вы уверены, что выбрали подходящий инструмент для своей задачи?
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
svich2008



Joined: 17 Apr 2021
Posts: 6

Post (Separately) Posted: Sun Apr 18, 2021 12:18    Post subject: Reply with quote

Все дело в том, что мне очень нравится поиск в ТС. Подсвечивать теги мне не нужно. Нужно, что бы регулярные выражения работали. Но они у меня не срабатывают. Почему? Хочу разобраться. Есть мысли по этой регулировке?
Code:
([<br]*?.[>]\s+){5,}


https://regex101.com/
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Sun Apr 18, 2021 12:27    Post subject: Reply with quote

svich2008
Не регулировке, а регулярке. Мысли есть более общие, и они уже приводились: многострочный поиск во внутреннем просмотрщике TC не выполняется, пользуйтесь тем инструментом, где ваш исходный синтаксис работает. А на заданные вопросы вы, кстати, фактически не ответили.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
svich2008



Joined: 17 Apr 2021
Posts: 6

Post (Separately) Posted: Sun Apr 18, 2021 12:34    Post subject: Reply with quote

Вы меня конечно простите многоуважаемый эксперт Avada. Но, многострочный поиск таким способом, именно в Total Commander я делал в 2016 году, но к сожалению не сохранил регулярное выражение. Все замечательно работало. Если у Вас это не получается, пожалуйста, не говорите, что это не работает.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Sun Apr 18, 2021 12:49    Post subject: Reply with quote

svich2008
Это, насколько вижу, не у меня одного не получается. В связи с чем и возникла эта тема. И дискуссия у нас с вами как-то не получается. Впрочем, пробуйте, кто против? Если "я делал" имело место в действительности (в чём я пока, уж извините, не уверен) и вы сможете это повторить, будет полезно и интересно. А до тех пор у меня всё.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1232

Post (Separately) Posted: Sun Apr 18, 2021 14:23    Post subject: Reply with quote

svich2008 wrote:

Поправил Ваш код для ТС ([<br]+?[>]\s+){4,}

Нет, вы не поправили. Группа "[>]" - бессмысленная, в ней всего один символ, можно просто ">". Группа "[<br]" непонятно что должна делать, т.к. на подобное
Code:
r>
 br>
<br>
br>
br>
<br>
<br>

она тоже сработает, что не соответствует задаче.
Предложенный мной вариант тоже не срабатывает в ТС (в других программах и на https://regex101.com/ - работает), похоже, ТС читает файлы построчно, а не махом как одну строку, и соотв. \n или \r просто не видит. Это странно.
Посмотрите в сторону PCREsearch, обсуждается тут.

Avada
Полагаю, речь о поиске файлов по содержимому.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Sun Apr 18, 2021 15:46    Post subject: Reply with quote

Skif_off
Так я же выше цитировал про поддержку поиска с регэкспами в пределах одной строки. А что речь идёт о поиске по содержимому, уже вполне очевидно.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
svich2008



Joined: 17 Apr 2021
Posts: 6

Post (Separately) Posted: Sun Apr 18, 2021 16:17    Post subject: Reply with quote

Если в строку поиска Total "с текстом:" задать, он найдет одно совпадение в тексте. Осталось придумать, как заставить его найти N-количество в строках.
Code:
^[<br]+.[>]
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1232

Post (Separately) Posted: Sun Apr 18, 2021 18:27    Post subject: Reply with quote

Avada
Глаз зацепился за упоминание просмотрщика, подумал, что при поиске по содержимому иначе.

svich2008
На данный момент самим ТС никак, остаётся: PCREsearch или с WinScript Advanced читать файл целиком и отдавать как текст (в диалоге есть возможность указать регэксп, только "^" там не ставьте, если "\s" не сработает - укажите группу "[\r\n\t ]", если опять не сработает - попробуйте с hex: "[\x0a\x0d\x09\x20]").
Первая группа в вашем выражении по-прежнему бессмысленно избыточная, только лишняя работа для парсера. Срабатывает это не потому, что правильно, а потому, что тегов, похожих на "br" в HTML вроде бы нет, простой символ "<" должен быть закодирован и файлы, видимо, валидные.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group