Страница 2 из 4

Добавлено: Вт мар 08, 2016 14:40
Flasher
Mailk писал(а):поправте что не так
Опять мудришь. Есть же [=tctorrent.Название].

Добавлено: Вт мар 08, 2016 16:33
Mailk
Да, на мудрил! Как wlx стоит, в свое время не ставил как wdx, странно что у других wdx нет имени... думал что и не показывают...
Все равно интересен был опыт регулярных выражений, мощь плагина понравилась! Жалко что нет заготовок готовых, например нахождения "данных" в ворде или ехеле в начале или конце.
например
(начало индификации)"нужные данные"(конец индификации)

Добавлено: Вс июл 03, 2016 15:55
Skif_off
Продолжение отсюда:
Аля писал(а):Попробовала сделать новый набор колонок и вывести значение "в процессе" - добавила колонку "Line count", по факту оно выводит в папке значения 1 либо 0, то есть 1, как я поняла, если соответствует забитому "в процессе", и 0 - если не соответствует.
Не совсем так, готовое поле Line count показывает количество найденных совпадений с регулярным выражением: 0 - не найдено, 1 - найдено одно совпадение и т.д. Поэтому правильнее будет всё-таки в поисковом запросе указать не "значение=1", а "значение>0". Line count было взято для примера ибо ближе всего к вашей задаче и потребовало минимум изменений и пояснений.
Аля писал(а):можно ли таким же образом, как поиск по закончен/в процессе, вытащить и остальные данные из "шапки" страницы и сделать из этого набор колонок?
Да, только нужно подходящее регулярное выражение.
Аля писал(а):можно ли одновременно вывести несколько параметров (например, закончен\в процессе, количество частей и тд.) в разные колонки ...?
PCREsearchConfig.exe служит для добавления/изменения полей плагина, вы можете добавить свои поля: просто создавайте новое (новые) с тем же набором опций (только имена дайте попонятнее :))
Аля писал(а):возможно заставить выводить в колонке сам текст?
Возможно. Для этого нужно будет изменить значение Field type на String output и разобраться с Replace string (для начала напишите там только "$0" без кавычек - тогда плагин отдаст найденное целиком).
Например:
- создаёте в плагине поле "Status";
- выражение "(Статус:</b>\n)(в процессе)"
- в Replace string напишете "$2"
- создаёте в ТС пользовательский набор колонок: ваше созданное поле "Status", даёте имя колонке, например, "Статус".
- смотрите, что получилось.
И так сколько угодно (в разумных пределах, конечно).

Добавлено: Вс июл 03, 2016 16:42
Аля
Skif_off,

сделала, как Вы сказали, но не могу найти это созданное поле для того, чтобы добавить его в набор колонок.
По идее, оно же должно появиться и в поиске с помощью шаблона, как поле Line count, и с помощью него можно искать?

Прикрепляю скриншоты, думаю, опять где-то не доделала, посмотрите, пожалуйста.
http://s020.radikal.ru/i710/1607/b7/96d7c44a5d7e.jpg
http://s019.radikal.ru/i604/1607/ac/7884225f3435.jpg

Добавлено: Вс июл 03, 2016 17:51
Staniclaw
Аля
Нужно изменить число в выпадающем списке ''Fields'', который показывает, сколько полей будут выводиться в ''Тотале'' как свойства; эти поля отмечены стрелкой. В показанном на скриншоте случае это число должно быть не меньше шестнадцати.

Добавлено: Вс июл 03, 2016 18:53
Аля
Staniclaw,

пробовала и до этого, но не догадалась перезапустить TC.
Такой вопрос: возможно ли в данном поле сделать вывод нескольких вариантов,
т.е. запрос вроде
(Статус:</b>\n)(в процессе) или
(Статус:</b>\n)(закончен) или
(Статус:</b>\n)(...)

соответственно, выводит либо "в процессе", либо "закончен" либо еще варианты?
Спасибо!

Добавлено: Вс июл 03, 2016 21:08
Staniclaw
Аля писал(а):Такой вопрос: возможно ли в данном поле сделать вывод нескольких вариантов,
т.е. запрос вроде
(Статус:</b>\n)(в процессе) или
(Статус:</b>\n)(закончен) или
(Статус:</b>\n)(...)

соответственно, выводит либо "в процессе", либо "закончен" либо еще варианты?
Теоретически, должно как-то так, но я не проверял.

Код: Выделить всё

<b>Статус:</b>\n(.+?)\n<br/>
''Replace String'' должна содержать $1.
Аля писал(а):пробовала и до этого, но не догадалась перезапустить TC.
Перезапускать как раз не обязательно, достаточно выполнить команду cm_UnloadPlugins.

Добавлено спустя 1 час 38 минут:

Из-за сложных отношений плагина с переносами строк выражение может не сработать. В таком случае имеет смысл заменить на переносы строк последовательности \n (при этом в строке состояния настройщика появится соответствующее предупреждение):

Код: Выделить всё

<b>Статус:</b>
(.+?)
<br/>

Добавлено: Вс июл 03, 2016 22:09
Skif_off
Staniclaw писал(а):Из-за сложных отношений плагина с переносами строк
Можно поподробнее? Плагином пользовался не часто, не сталкивался.

Наверное, сам как-то так попробовал бы:

Код: Выделить всё

<b>Статус:</b>[\r\n]*([^\r\n]+?)[\r\n]*<br
т.к. некоторые способы причёсывания HTML (Tidy и прочее) ставят пробел перед слэшем и в силу скромных знаний не люблю точку в регэкспах (не так наглядно и в некоторых реализациях точка не включает \n).

Добавлено: Вс июл 03, 2016 23:08
Staniclaw
Skif_off писал(а):
Staniclaw писал(а):Из-за сложных отношений плагина с переносами строк
Можно поподробнее?
Можно:
Skif_off писал(а):в некоторых реализациях точка не включает \n).
Как и в этой. Хотя ожидается, что включает, ведь, как написано в руководстве, точка обозначает любой символ. В т. ч. и символ перевода строки.

Добавлено: Пн июл 04, 2016 00:24
Skif_off
Staniclaw писал(а):ведь, как написано в руководстве, точка обозначает любой символ. В т. ч. и символ перевода строки.
Нет, это же синтаксис PCRE, в руководстве написано: any character except newline, newline - это именно "\n". В Notepad++, например, в диалоге поиска/замены есть отдельная галочка под это дело (включает в точку и \n).

P.S. Предпочитаю не использовать точку, т.к в AkelPad, например, своя реализация, пусть и схожая с PCRE, есть ещё и POSIX (grep, куда без него), JScript, зато в AutoIt чистый PCRE - зоопарк, в общем :) Стараюсь, чтобы везде было одинаково.

Добавлено: Пн июл 04, 2016 09:12
Staniclaw
Skif_off писал(а):в руководстве написано: any character except newline, newline - это именно "\n".
А, проглядел... :oops:

Добавлено: Пн июл 04, 2016 14:55
Skif_off
Автор таки добавил функционал, аналогичный Regexp Content plugin:
[v] String output
[v] Search in filename only

Добавлено: Вт ноя 20, 2018 21:52
BeardFury78
Плагин не работает с xml файлами. После переименования расширения на txt заработало. Можно как-то включить поддержку xml файлов?

Добавлено: Пт фев 12, 2021 11:13
Monarch-LFV
Не работает:

Код: Выделить всё

regex4=\A(?:.*\R){1}(.*)\R?
должна отображаться только вторая строка (Second Line), то есть первую вроде как должен пропускать выражением (?:...), но не пропускает, даже в тестере.

Добавлено: Пт фев 12, 2021 13:14
Skif_off
Monarch-LFV
А если упростить

Код: Выделить всё

^[^\r\n]+[\r\n]+([^\r\n]*)
?

Есть плагин Text Line, возможно, будет удобнее?