Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Модератор форума: Peter, DEMBEL, YURIY  
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Регулярные выражения
Регулярные выражения
mishemДата: Пт, 08 Марта 2013, 07:32 | Сообщение # 1
Эксперт форума
Есть у нас специалисты по регуляркам?
По моему Сергей и Юра соображают?

Есть плагин hpwControl с помощью которого можно использовать регулярные выражения.
Мне надо найти в файле все пути к файлам и папкам которые в нем записаны.
Может быть и только буква диска например C:\ или F:\
И Путь с пробелами, и кирилица, и несколько папок подряд, файлы с разрешением и без, путь может заканчиваться \ может и без слеша быть.
Короче как обычно все возможные варианты.

Вопрос решен:

Цитата (Сергей)

Регулярное выражение которое ищет все пути к файлам и папкам.

([c-zC-Z]:\\)[^\r"=]+

вот еще пример

([c-zC-Z]:\\)[^\r"=]+(\..{3})?

в фиг.скобках указано колл. букфф в расширении
если 3 не надо, то заменить {2,4}={старт,конец}

дополнение
[c-zC-Z] это буквы лок.дисков. Если есть уверенность что диски будут только заглавной можно изменить [C-Z] А если учитывается диск А, то [a-zA-Z]


Предлагаю в этой теме собирать регулярные выражения.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.


Сообщение отредактировано
mishem - Пт, 08 Марта 2013, 17:15
 
СообщениеЕсть у нас специалисты по регуляркам?
По моему Сергей и Юра соображают?

Есть плагин hpwControl с помощью которого можно использовать регулярные выражения.
Мне надо найти в файле все пути к файлам и папкам которые в нем записаны.
Может быть и только буква диска например C:\ или F:\
И Путь с пробелами, и кирилица, и несколько папок подряд, файлы с разрешением и без, путь может заканчиваться \ может и без слеша быть.
Короче как обычно все возможные варианты.

Вопрос решен:

Цитата (Сергей)

Регулярное выражение которое ищет все пути к файлам и папкам.

([c-zC-Z]:\\)[^\r"=]+

вот еще пример

([c-zC-Z]:\\)[^\r"=]+(\..{3})?

в фиг.скобках указано колл. букфф в расширении
если 3 не надо, то заменить {2,4}={старт,конец}

дополнение
[c-zC-Z] это буквы лок.дисков. Если есть уверенность что диски будут только заглавной можно изменить [C-Z] А если учитывается диск А, то [a-zA-Z]


Предлагаю в этой теме собирать регулярные выражения.

Автор - mishem
Дата добавления - 08 Марта 2013 в 07:32
СергейДата: Пт, 08 Марта 2013, 08:26 | Сообщение # 2
Необукер
дополнение
[c-zC-Z] это буквы лок.дисков. Если есть уверенность что диски будут только заглавной можно изменить [C-Z] А если учитывается диск А, то [a-zA-Z]


Сообщение отредактировано
Сергей - Пт, 08 Марта 2013, 17:06
 
Сообщениедополнение
[c-zC-Z] это буквы лок.дисков. Если есть уверенность что диски будут только заглавной можно изменить [C-Z] А если учитывается диск А, то [a-zA-Z]

Автор - Сергей
Дата добавления - 08 Марта 2013 в 08:26
mishemДата: Пт, 08 Марта 2013, 08:32 | Сообщение # 3
Эксперт форума
Цитата (Сергей)
или не только С

Не только С, все возможные.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Сергей)
или не только С

Не только С, все возможные.

Автор - mishem
Дата добавления - 08 Марта 2013 в 08:32
СергейДата: Пт, 08 Марта 2013, 08:50 | Сообщение # 4
Необукер
попробуй
Код
^([c-zC-Z]+):(\\.*)*\.(.*)$



Сообщение отредактировано
Сергей - Пт, 08 Марта 2013, 08:59
 
Сообщениепопробуй
Код
^([c-zC-Z]+):(\\.*)*\.(.*)$


Автор - Сергей
Дата добавления - 08 Марта 2013 в 08:50
mishemДата: Пт, 08 Марта 2013, 09:00 | Сообщение # 5
Эксперт форума
Ошибку выдает

TRegExpr(comp): ?+*{ Follows Nothing (pos 3)

Добавлено (08 Марта 2013, 09:00)
---------------------------------------------
Ты сам попробуй в hpwControl

А то мож я как то не так записал? %)
Он только скобки на переменные заменяет, надо учитывать это и исправлять в ручную. (я так думаю) :)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеОшибку выдает

TRegExpr(comp): ?+*{ Follows Nothing (pos 3)

Добавлено (08 Марта 2013, 09:00)
---------------------------------------------
Ты сам попробуй в hpwControl

А то мож я как то не так записал? %)
Он только скобки на переменные заменяет, надо учитывать это и исправлять в ручную. (я так думаю) :)


Автор - mishem
Дата добавления - 08 Марта 2013 в 09:00
СергейДата: Пт, 08 Марта 2013, 09:03 | Сообщение # 6
Необукер
Цитата (mishem)
Ошибку выдает

какая команда?
в hpwExecRegExpBool работает нормально

Добавлено (08 Марта 2013, 09:03)
---------------------------------------------

Цитата (mishem)
и исправлять в ручную.
не надо
 
Сообщение
Цитата (mishem)
Ошибку выдает

какая команда?
в hpwExecRegExpBool работает нормально

Добавлено (08 Марта 2013, 09:03)
---------------------------------------------

Цитата (mishem)
и исправлять в ручную.
не надо

Автор - Сергей
Дата добавления - 08 Марта 2013 в 09:03
mishemДата: Пт, 08 Марта 2013, 09:06 | Сообщение # 7
Эксперт форума
Цитата (Сергей)
^

И еще, это не начало и не конец строки.

Короче делаю программку что бы можно было в паб файле изменить пути если проект не архивировался или нужны папки с файлами по своему пути, а не так как нб их собирает в одну папку.

К примеру кто то сделал проект, без архивации выложил его со своей структурой файлов и папок.
Ты у себя его в этой программе открываешь, указываешь путь к паб файлу, и она все пути исправляет на те в которой лежит файл.

Думаю удобно будет.

Добавлено (08 Марта 2013, 09:06)
---------------------------------------------

Цитата (Сергей)
не надо

Надо, иначе он не понимает. Запрос так и идет
[#91]c-zC-Z[#93]


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Сергей)
^

И еще, это не начало и не конец строки.

Короче делаю программку что бы можно было в паб файле изменить пути если проект не архивировался или нужны папки с файлами по своему пути, а не так как нб их собирает в одну папку.

К примеру кто то сделал проект, без архивации выложил его со своей структурой файлов и папок.
Ты у себя его в этой программе открываешь, указываешь путь к паб файлу, и она все пути исправляет на те в которой лежит файл.

Думаю удобно будет.

Добавлено (08 Марта 2013, 09:06)
---------------------------------------------

Цитата (Сергей)
не надо

Надо, иначе он не понимает. Запрос так и идет
[#91]c-zC-Z[#93]

Автор - mishem
Дата добавления - 08 Марта 2013 в 09:06
СергейДата: Пт, 08 Марта 2013, 09:07 | Сообщение # 8
Необукер
Код
hpwExecRegExpList "([#91]c-zC-Z[#93]+):(\\.*)*\.(.*)" "[str]" "#" "[res]"
работает без ошибок.
если выдаст ошибку, сделай тестовый проект, я у себя протестирую
 
Сообщение
Код
hpwExecRegExpList "([#91]c-zC-Z[#93]+):(\\.*)*\.(.*)" "[str]" "#" "[res]"
работает без ошибок.
если выдаст ошибку, сделай тестовый проект, я у себя протестирую

Автор - Сергей
Дата добавления - 08 Марта 2013 в 09:07
mishemДата: Пт, 08 Марта 2013, 09:07 | Сообщение # 9
Эксперт форума
Цитата (Сергей)
какая команда?

hpwExecRegExpList

Сейчас в той попробую


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Сергей)
какая команда?

hpwExecRegExpList

Сейчас в той попробую

Автор - mishem
Дата добавления - 08 Марта 2013 в 09:07
СергейДата: Пт, 08 Марта 2013, 09:10 | Сообщение # 10
Необукер
Цитата (mishem)
Надо, иначе он не понимает. Запрос так и идет
там в плагине он преобразует как надо, а так получится у тебя переменная [c-zC-Z] и выдаст ошибку

Добавлено (08 Марта 2013, 09:10)
---------------------------------------------
mishem, открывай свойство команды и вставляй в поле регулярку - он преобразует как ему надо.

 
Сообщение
Цитата (mishem)
Надо, иначе он не понимает. Запрос так и идет
там в плагине он преобразует как надо, а так получится у тебя переменная [c-zC-Z] и выдаст ошибку

Добавлено (08 Марта 2013, 09:10)
---------------------------------------------
mishem, открывай свойство команды и вставляй в поле регулярку - он преобразует как ему надо.


Автор - Сергей
Дата добавления - 08 Марта 2013 в 09:10
mishemДата: Пт, 08 Марта 2013, 09:11 | Сообщение # 11
Эксперт форума
Цитата (Сергей)
в hpwExecRegExpBool работает нормально

У меня 0 выдает если скобки не исправляю, и ошибку если исправляю.
Цитата (Сергей)
если выдаст ошибку, сделай тестовый проект, я у себя протестирую

Сейчас сделаю.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Сергей)
в hpwExecRegExpBool работает нормально

У меня 0 выдает если скобки не исправляю, и ошибку если исправляю.
Цитата (Сергей)
если выдаст ошибку, сделай тестовый проект, я у себя протестирую

Сейчас сделаю.

Автор - mishem
Дата добавления - 08 Марта 2013 в 09:11
СергейДата: Пт, 08 Марта 2013, 09:15 | Сообщение # 12
Необукер
так вставь и нажми "ОК"
Я вставляю через свойство, а ты наверное напрямую?!
Прикрепления: 0171809.jpg (25.0 Kb)


Сообщение отредактировано
Сергей - Пт, 08 Марта 2013, 09:16
 
Сообщение
так вставь и нажми "ОК"
Я вставляю через свойство, а ты наверное напрямую?!

Автор - Сергей
Дата добавления - 08 Марта 2013 в 09:15
mishemДата: Пт, 08 Марта 2013, 09:18 | Сообщение # 13
Эксперт форума
Запускай файл Test/
А пути надо найти в Plagins
Их там 132 или больше.
:)
Прикрепления: 3256893.zip (15.6 Kb)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеЗапускай файл Test/
А пути надо найти в Plagins
Их там 132 или больше.
:)

Автор - mishem
Дата добавления - 08 Марта 2013 в 09:18
СергейДата: Пт, 08 Марта 2013, 09:39 | Сообщение # 14
Необукер
Работает без ошибок

Но вот поиск...
Я то сделал поиск в строке, а у тебя надо в много строчном.
Тут надо по другому делать, т.к. в плагине не все фишки регулярки используются, только основные.
надо подумать...
Прикрепления: 2536766.jpg (62.8 Kb)
 
СообщениеРаботает без ошибок

Но вот поиск...
Я то сделал поиск в строке, а у тебя надо в много строчном.
Тут надо по другому делать, т.к. в плагине не все фишки регулярки используются, только основные.
надо подумать...

Автор - Сергей
Дата добавления - 08 Марта 2013 в 09:39
mishemДата: Пт, 08 Марта 2013, 09:48 | Сообщение # 15
Эксперт форума
Цитата (Сергей)
Работает без ошибок

У меня не хочет искать и в строке. %)
Добавил
StrReplace "[Result]" "[#13][#10]" "" "[Result]" ""

После FileRead. Получается одна строка, но все равно нет никаких результатов.
Попробуй добавить.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Сергей)
Работает без ошибок

У меня не хочет искать и в строке. %)
Добавил
StrReplace "[Result]" "[#13][#10]" "" "[Result]" ""

После FileRead. Получается одна строка, но все равно нет никаких результатов.
Попробуй добавить.

Автор - mishem
Дата добавления - 08 Марта 2013 в 09:48
mishemДата: Пт, 08 Марта 2013, 09:51 | Сообщение # 16
Эксперт форума
А вот так смотри что ищет.
Прикрепления: 6621747.zip (15.6 Kb)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеА вот так смотри что ищет.

Автор - mishem
Дата добавления - 08 Марта 2013 в 09:51
СергейДата: Пт, 08 Марта 2013, 09:56 | Сообщение # 17
Необукер
пробуй
Код
([c-zC-Z]:\\{1}.*?(\.\w{3})+)($|\s|\n)

либо так, если вставляешь не через свойство плагина:
Код
([#91]c-zC-Z[#93]:\\{1}.*?(\.\w{3})+)($|\s|\n)
 
Сообщениепробуй
Код
([c-zC-Z]:\\{1}.*?(\.\w{3})+)($|\s|\n)

либо так, если вставляешь не через свойство плагина:
Код
([#91]c-zC-Z[#93]:\\{1}.*?(\.\w{3})+)($|\s|\n)

Автор - Сергей
Дата добавления - 08 Марта 2013 в 09:56
mishemДата: Пт, 08 Марта 2013, 10:08 | Сообщение # 18
Эксперт форума
Во, уже что то, но много "мусора" остается.

Добавлено (08 Марта 2013, 10:08)
---------------------------------------------
Вложенных файлов путь не находит
EmbeddedFiles=

Прикрепления: 3995790.png (28.2 Kb)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеВо, уже что то, но много "мусора" остается.

Добавлено (08 Марта 2013, 10:08)
---------------------------------------------
Вложенных файлов путь не находит
EmbeddedFiles=


Автор - mishem
Дата добавления - 08 Марта 2013 в 10:08
СергейДата: Пт, 08 Марта 2013, 11:38 | Сообщение # 19
Необукер
писец с этими русскими %)
я про букфы :D
Код
hpwExecRegExpList "([#91]A-Z[#93]:\\[#91]^\:\=\[#91]\[#93]\[#34][#93]+\.\w{2,6})|(\[#91]{1}[#91]^\=\[#34][#93]+\.\w{2,6})" "[Result]" "," "[out]"

должно получится

Добавлено (08 Марта 2013, 11:38)
---------------------------------------------
это пробная, там надо еще лишнее удалить

 
Сообщениеписец с этими русскими %)
я про букфы :D
Код
hpwExecRegExpList "([#91]A-Z[#93]:\\[#91]^\:\=\[#91]\[#93]\[#34][#93]+\.\w{2,6})|(\[#91]{1}[#91]^\=\[#34][#93]+\.\w{2,6})" "[Result]" "," "[out]"

должно получится

Добавлено (08 Марта 2013, 11:38)
---------------------------------------------
это пробная, там надо еще лишнее удалить


Автор - Сергей
Дата добавления - 08 Марта 2013 в 11:38
mishemДата: Пт, 08 Марта 2013, 11:55 | Сообщение # 20
Эксперт форума
Вот я тебе головную боль задал. :)

Уже ближе к истине...
Находит много лишних переменных.

Можно или вообще не искать переменные, или только [PubDir] и [Embedded]

Ну как вариант [WindowsDir][ProgramFiles][PubDrive][MyDocuments]
По значимости в порядке убывания. Так как эти переменные очень редко используются для обращения к файлу.

Те которые файлы находятся в [PubDir] , их вряд ли забудут положить. [Embedded]? В проекте есть место где указан полный путь к вложенным. [WindowsDir]? Здесь да, могут расчитывать что такй файл есть у всех, но у кого то может и не быть, но это мне кажется не столь важно, так как не каждый захочет кидать не известный файл в системную директорию. [ProgramFiles][MyDocuments]? Я думаю это вообще не серьезно, если только для себя? [PubDrive] опять же как и [PubDir]

По этому мне кажется поиск путей с переменными лучше вообще убрать.
Это ты уж слишком перестарался.
Слишком хорошо, тоже не хорошо. :)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеВот я тебе головную боль задал. :)

Уже ближе к истине...
Находит много лишних переменных.

Можно или вообще не искать переменные, или только [PubDir] и [Embedded]

Ну как вариант [WindowsDir][ProgramFiles][PubDrive][MyDocuments]
По значимости в порядке убывания. Так как эти переменные очень редко используются для обращения к файлу.

Те которые файлы находятся в [PubDir] , их вряд ли забудут положить. [Embedded]? В проекте есть место где указан полный путь к вложенным. [WindowsDir]? Здесь да, могут расчитывать что такй файл есть у всех, но у кого то может и не быть, но это мне кажется не столь важно, так как не каждый захочет кидать не известный файл в системную директорию. [ProgramFiles][MyDocuments]? Я думаю это вообще не серьезно, если только для себя? [PubDrive] опять же как и [PubDir]

По этому мне кажется поиск путей с переменными лучше вообще убрать.
Это ты уж слишком перестарался.
Слишком хорошо, тоже не хорошо. :)

Автор - mishem
Дата добавления - 08 Марта 2013 в 11:55
СергейДата: Пт, 08 Марта 2013, 12:12 | Сообщение # 21
Необукер
давай пока на абсолютных путях остановимся:
Код
hpwExecRegExpList "[#91]c-zC-Z[#93]:\\[#91]^=[#34][#93]+\.\w{2,6}" "[Result]" "," "[out]"

Строки типа:
Цитата
[PubDir]Base\Plagins.mdb
не получается, т.к. [...] подразумевает все переменные...
Я не селен в таких глубоких познаниях регулярки
Могу только жёстко перечислить [PubDir],[TempDir] и т.д.
Но как получится хз, пробывать чет уже не хочется-мозг кипит.

Добавлено (08 Марта 2013, 12:12)
---------------------------------------------
Цитата (mishem)
По этому мне кажется поиск путей с переменными лучше вообще убрать.

хотел грабить все пути, но переоценил свои возможности :D
Цитата (mishem)
Ну как вариант [WindowsDir][ProgramFiles][PubDrive][MyDocuments]

да, так можно, немного проще...
Если следовать задумки проекта, то PubDir трогать то и не надо.
Прикрепления: RegExp.rar (1.8 Kb)


Сообщение отредактировано
Сергей - Пт, 08 Марта 2013, 12:17
 
Сообщениедавай пока на абсолютных путях остановимся:
Код
hpwExecRegExpList "[#91]c-zC-Z[#93]:\\[#91]^=[#34][#93]+\.\w{2,6}" "[Result]" "," "[out]"

Строки типа:
Цитата
[PubDir]Base\Plagins.mdb
не получается, т.к. [...] подразумевает все переменные...
Я не селен в таких глубоких познаниях регулярки
Могу только жёстко перечислить [PubDir],[TempDir] и т.д.
Но как получится хз, пробывать чет уже не хочется-мозг кипит.

Добавлено (08 Марта 2013, 12:12)
---------------------------------------------
Цитата (mishem)
По этому мне кажется поиск путей с переменными лучше вообще убрать.

хотел грабить все пути, но переоценил свои возможности :D
Цитата (mishem)
Ну как вариант [WindowsDir][ProgramFiles][PubDrive][MyDocuments]

да, так можно, немного проще...
Если следовать задумки проекта, то PubDir трогать то и не надо.

Автор - Сергей
Дата добавления - 08 Марта 2013 в 12:12
mishemДата: Пт, 08 Марта 2013, 12:27 | Сообщение # 22
Эксперт форума
Во, это то что надо.
Но что то не находит. Я по количеству строк смотрю. У меня не то 132, не то 136 находит. Переделывать пока не охота что бы точный список получить. Я отсев одинаковых сделал.

А регулярка находит 131.

Если надоело, брось, если нет, еще вопрос. :D

Но думаю это попроще будет.
Удалить имена файлов, т.е. оставить только пути. И удалить одинаковые пути оставив по одному.
Или найти путь который есть во всех путях. Тоесть груба говоря который был [PubDir].

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

Добавлено (08 Марта 2013, 12:21)
---------------------------------------------
Цитата (Сергей)
Если следовать задумки проекта, то PubDir трогать то и не надо.

Да их в принципе любые переменные трогать не надо. Если НБ их оставляет и не превращает в абсолютный путь, то и нечего с ним заморачиваться.

Добавлено (08 Марта 2013, 12:27)
---------------------------------------------
Цитата (mishem)
А регулярка находит 131.

Да, не находит путь к папкам.

Тоесть если файла нет, то и найти не может.
В данном случае C:\MyProgram

Но эта папка не нужна, но есть другие которые нужны.
К примеру если функцию указываешь не в директории НБ, то она будет выглядеть таким видом.
Может путь быть просто без файла, к папке. Типа C:\MyProgram\

Вот это бы еще учесть, вообще было бы то что надо.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.


Сообщение отредактировано
mishem - Пт, 08 Марта 2013, 12:29
 
СообщениеВо, это то что надо.
Но что то не находит. Я по количеству строк смотрю. У меня не то 132, не то 136 находит. Переделывать пока не охота что бы точный список получить. Я отсев одинаковых сделал.

А регулярка находит 131.

Если надоело, брось, если нет, еще вопрос. :D

Но думаю это попроще будет.
Удалить имена файлов, т.е. оставить только пути. И удалить одинаковые пути оставив по одному.
Или найти путь который есть во всех путях. Тоесть груба говоря который был [PubDir].

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

Добавлено (08 Марта 2013, 12:21)
---------------------------------------------
Цитата (Сергей)
Если следовать задумки проекта, то PubDir трогать то и не надо.

Да их в принципе любые переменные трогать не надо. Если НБ их оставляет и не превращает в абсолютный путь, то и нечего с ним заморачиваться.

Добавлено (08 Марта 2013, 12:27)
---------------------------------------------
Цитата (mishem)
А регулярка находит 131.

Да, не находит путь к папкам.

Тоесть если файла нет, то и найти не может.
В данном случае C:\MyProgram

Но эта папка не нужна, но есть другие которые нужны.
К примеру если функцию указываешь не в директории НБ, то она будет выглядеть таким видом.
Может путь быть просто без файла, к папке. Типа C:\MyProgram\

Вот это бы еще учесть, вообще было бы то что надо.

Автор - mishem
Дата добавления - 08 Марта 2013 в 12:27
СергейДата: Пт, 08 Марта 2013, 12:32 | Сообщение # 23
Необукер
открыл PlugIns.pub - он показал ошибочных 70 путей
всего в PlugIns.pub 132 абсолютный путь
регулярка не находит только = C:\MyProgram
не знаю почему
 
Сообщениеоткрыл PlugIns.pub - он показал ошибочных 70 путей
всего в PlugIns.pub 132 абсолютный путь
регулярка не находит только = C:\MyProgram
не знаю почему

Автор - Сергей
Дата добавления - 08 Марта 2013 в 12:32
mishemДата: Пт, 08 Марта 2013, 12:34 | Сообщение # 24
Эксперт форума
Цитата (Сергей)
он показал ошибочных 70 путей

У меня показывает 132


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Сергей)
он показал ошибочных 70 путей

У меня показывает 132

Автор - mishem
Дата добавления - 08 Марта 2013 в 12:34
СергейДата: Пт, 08 Марта 2013, 12:36 | Сообщение # 25
Необукер
потом посмотрю что там с папками...
а зачем выдергивать пути?! можно просто заменить hpwReplaceRegExp
 
Сообщениепотом посмотрю что там с папками...
а зачем выдергивать пути?! можно просто заменить hpwReplaceRegExp

Автор - Сергей
Дата добавления - 08 Марта 2013 в 12:36
mishemДата: Пт, 08 Марта 2013, 12:42 | Сообщение # 26
Эксперт форума
Цитата (Сергей)
можно просто заменить hpwReplaceRegExp

Нельзя. :(
Если выдергивать текст паб файла в переменную, после заменить и сохранить в файл, то в некоторых случаях пропадают данные. :(

НБ спецсимволы меняет, или удаляет, я особо не стал вникать.
Если б она могла менять непосредственно в файле, то да, проблем бы не было. А так я подключаю плагин Editor's Toolbox и с помощью него меняю путь. Он работает с форматированным текстом и сохраняет его как есть.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Сергей)
можно просто заменить hpwReplaceRegExp

Нельзя. :(
Если выдергивать текст паб файла в переменную, после заменить и сохранить в файл, то в некоторых случаях пропадают данные. :(

НБ спецсимволы меняет, или удаляет, я особо не стал вникать.
Если б она могла менять непосредственно в файле, то да, проблем бы не было. А так я подключаю плагин Editor's Toolbox и с помощью него меняю путь. Он работает с форматированным текстом и сохраняет его как есть.

Автор - mishem
Дата добавления - 08 Марта 2013 в 12:42
СергейДата: Пт, 08 Марта 2013, 14:57 | Сообщение # 27
Необукер
Цитата (mishem)
Удалить имена файлов, т.е. оставить только пути. И удалить одинаковые пути оставив по одному. Или найти путь который есть во всех путях. Тоесть груба говоря который был [PubDir].
это типа аппетит пришел :D
теперь ищет файлы и папки.
Цитата
hpwExecRegExpList "([#91]c-zC-Z[#93]:\\)[#91]^\r[#34]=[#93]+" "[Result]" "," "[out]"

попробую с заменой сделать.
 
Сообщение
Цитата (mishem)
Удалить имена файлов, т.е. оставить только пути. И удалить одинаковые пути оставив по одному. Или найти путь который есть во всех путях. Тоесть груба говоря который был [PubDir].
это типа аппетит пришел :D
теперь ищет файлы и папки.
Цитата
hpwExecRegExpList "([#91]c-zC-Z[#93]:\\)[#91]^\r[#34]=[#93]+" "[Result]" "," "[out]"

попробую с заменой сделать.

Автор - Сергей
Дата добавления - 08 Марта 2013 в 14:57
mishemДата: Пт, 08 Марта 2013, 15:54 | Сообщение # 28
Эксперт форума
В много строчном тексте отлично.
В одно строчном цепляет следующее слово.
Мне в принципе и этого достаточно, но так, на всякий случай, вдруг кто еще пользоваться будет. Или посмотришь, подправишь.

Благодарю, Серег. В проекте код уменьшился раза в четыре. :) И скорость увеличилась соответственно.

Цитата (Сергей)
это типа аппетит пришел

Дык....
Глупо думать Иначе. :D

Я вообще эту тему создал в надежде что здесь будем собирать регулярки. Только вот чистить бы ее переодически и оставлять регулярку и описание для чего она предназначена.

Никаким парсерам по скорости не сравняться. thumbs_up


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.


Сообщение отредактировано
mishem - Пт, 08 Марта 2013, 15:54
 
СообщениеВ много строчном тексте отлично.
В одно строчном цепляет следующее слово.
Мне в принципе и этого достаточно, но так, на всякий случай, вдруг кто еще пользоваться будет. Или посмотришь, подправишь.

Благодарю, Серег. В проекте код уменьшился раза в четыре. :) И скорость увеличилась соответственно.

Цитата (Сергей)
это типа аппетит пришел

Дык....
Глупо думать Иначе. :D

Я вообще эту тему создал в надежде что здесь будем собирать регулярки. Только вот чистить бы ее переодически и оставлять регулярку и описание для чего она предназначена.

Никаким парсерам по скорости не сравняться. thumbs_up

Автор - mishem
Дата добавления - 08 Марта 2013 в 15:54
СергейДата: Пт, 08 Марта 2013, 16:04 | Сообщение # 29
Необукер
в регулярке с повторами затык. Это уже не мой полет.
На моих вариантах НБ виснет, тут лучше заюзать старыми-добрыми методами через листбокс
и заодно в цикле отделять путь и имя файла.
В плагине регулярка очень проста, не понимает много модификаторов,квантификаторов,групп и т.д.
А без них сложный поиск с условиями тяжеловато сделать.
 
Сообщениев регулярке с повторами затык. Это уже не мой полет.
На моих вариантах НБ виснет, тут лучше заюзать старыми-добрыми методами через листбокс
и заодно в цикле отделять путь и имя файла.
В плагине регулярка очень проста, не понимает много модификаторов,квантификаторов,групп и т.д.
А без них сложный поиск с условиями тяжеловато сделать.

Автор - Сергей
Дата добавления - 08 Марта 2013 в 16:04
mishemДата: Пт, 08 Марта 2013, 16:09 | Сообщение # 30
Эксперт форума
Цитата (Сергей)
тут лучше заюзать старыми-добрыми методами через листбокс

Я так и делал. Но сейчас раз плагин hpwControl подключил буду через него наверно все остальные действия делать.

Ты попробуй эту регулярку доделать что бы в однострочных тоже нормально искало. И можно тему чистить до первого поста и во втором оставить регулярку с описанием.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Сергей)
тут лучше заюзать старыми-добрыми методами через листбокс

Я так и делал. Но сейчас раз плагин hpwControl подключил буду через него наверно все остальные действия делать.

Ты попробуй эту регулярку доделать что бы в однострочных тоже нормально искало. И можно тему чистить до первого поста и во втором оставить регулярку с описанием.

Автор - mishem
Дата добавления - 08 Марта 2013 в 16:09
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Регулярные выражения
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск: