Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Power Basic

Страница: 1 | 2 |

 

  Вопрос: Поиск строк функцией REGEXPR Добавлено: 16.08.06 17:27  

Автор вопроса:  alex

Ответить

  Ответы Всего ответов: 25  

Номер ответа: 16
Автор ответа:
 JMP



Вопросов: 6
Ответов: 171
 Профиль | | #16 Добавлено: 18.08.06 18:00
To: CyRax

Судя по справке, ты пытаешся найти один любой из указанных в квадратных скобках символов: '%' или '+' или '?' или ';'.


Сдаюсь, забыл начисто эти !"№;%:?*( выражения, с ними ИМХО надо либо постоянно работать, либо обходить стороной, иначе каждый раз возвращаясь к ним ломать голову приходиться что за чем стоит и что каждый крестик обозначает. Я пробовал давно сравнивать REGEXPR с INSTR,REPLACE$,VERUFY$, TALLY$,PARSE$ и пришел к выводу что все это внутри базируеться на одних и тех же функциях(т.е.) выигрыш по времени выполнения =0, зато пока вспомнишь этот набор !"№;%:?* выражений времени уходит больше на разработку. ИМХО папа придумал REGEXPR для совместимости с другими языками но реализация... несколько отличается

Ответить

Номер ответа: 17
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #17
Добавлено: 18.08.06 21:54
Не согласен, в общем случае регекспы реализуются через построение дерева анализа и конечные автоматы, следовательно, для полной их замены как раз и придется писать такой код, а он большой.

Ответить

Номер ответа: 18
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #18
Добавлено: 18.08.06 22:19
Ну реализация это само собой, только ты учти что любой конечный автомат лучше всего выражается регулярным выражением. Как ты его будешь реализовывать это уже твои проблемы, но сформулировать всё равно нужно регулярным выражением или грамматикой. Ну а автоматизированная версия рег. выражений (REGEXPR и др.) это скорее для тех кому лень самому писать автомат.

Ответить

Номер ответа: 19
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #19
Добавлено: 18.08.06 22:20
Sharp, это для JMP было.

Ответить

Номер ответа: 20
Автор ответа:
 JMP



Вопросов: 6
Ответов: 171
 Профиль | | #20 Добавлено: 19.08.06 06:23
Ну а автоматизированная версия рег. выражений (REGEXPR и др.) это скорее для тех кому лень самому писать автомат


  С автоматами все понятно, меня просто реализация самих рег.выражений достает, практически микро язык, если часто не пользовать, то головоломно как то по сравнению
с такими мощными операторами как PARSE, INSTR, TALLY, VERIFY, REPLACE$,REMOVE$, RETAIT$, REMAIN$, STRINSERT$,STRDELETE$,STRREVERSE$... можно написать автомат, вернуться к нему через год и понять о чем смысл.
  Или my bad ... почаще юзать рег.выражения чтоб запомнить смысл всех .^$*[!+?

  а так приходится убивать время на ХЕЛП каждый раз или http://regexlib.com/RETester.aspx

или для ПБ Regular Expression Tester от Кевина
http://www.powerbasic.com/support/forums/Forum7/HTML/002960.html

Ответить

Номер ответа: 21
Автор ответа:
 alex



Вопросов: 84
Ответов: 453
 Профиль | | #21 Добавлено: 19.08.06 15:09
Почитал про регулярные выражения, оказывается это невероятно мощная штука. Можно сравнить с SQL, только для текста. А Regular Expression Tester просто находка! :)))

Ответить

Номер ответа: 22
Автор ответа:
 JMP



Вопросов: 6
Ответов: 171
 Профиль | | #22 Добавлено: 19.08.06 20:01
оказывается это невероятно мощная штука


  Да в том что это мощная штука в этом сомнений даже нет,
меня ПБ-шный синтаксис рег.выражений всегда с толку сбивает, точнее примение () , если на других диалектах рег.выражений {PCRE,Python,JavaScripts,.NET,xxxNix} прокатывают готовые маски из баз данных парсинга, то в ПБ-шке комбинируя сложные выражения очень легко запутаться.
  Пытался в свое время приспособить науку от
"Mastering Regular Expresions" by Jeffery Friedl
но честно говоря зарылся с ПБ-шным различием.

Ответить

Номер ответа: 23
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #23
Добавлено: 20.08.06 11:49
честно говоря зарылся с ПБ-шным различием.

 Ну так а в чём различие ты выяснил? Интерпретация выражений или сам синтаксис? Если синтаксис одинаковый и ты его знаешь, то адаптировать я думаю не составит труда. Покажи, если не трудно, некоторые из примеров, которые не сработали.

Ответить

Номер ответа: 24
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #24
Добавлено: 20.08.06 11:59
меня ПБ-шный синтаксис рег.выражений всегда с толку сбивает, точнее примение ()

 Ну вообще скокби, насколько я понял, предназначены для группировки, что позволяет применять спецсимволы не к одному символу, а ко всей группе в скобках. Например: AB+ и (AB)+

Ответить

Номер ответа: 25
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #25
Добавлено: 20.08.06 12:09
Прошу прощения, в 24 наврал. Спецсимволы не применяются к скобкам. Скобки нужны просто для выделения нескольких символов в группу, при том что к выделенной группе применяется ограниченный набор правил.

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам