The Regex треньор - интерактивни регулярни изрази

This is a Bulgarian translation of main software located at : Regex coach software

The Regex треньор - интерактивни регулярни изрази

Абстрактен

Направено с Lisp

Треньорът Regex е програма с графичен интерфейс за Windows, която може да се използва, за да експериментирате с (Perl-съвместими) регулярни изрази интерактивно. Той има следните характеристики:

  • Тя показва дали даден регулярен израз съвпада с определена цел низ.
  • Тя също може да покаже кои части на целевата низ съответстват на заловените групите от регистъра или на произволни части на регулярния израз.
  • Тя може да "разходка" чрез целева низ една минута в даден момент.
  • Тя може да се симулира Perl е split и s/// (заместване) оператори.
  • Тя се опитва да се опише с регулярния израз на прост език.
  • Той може да покаже графично представяне на регулярния израз на разбор дърво.
  • Тя може едноетапно чрез процеса на сравняване, както се осъществява от регулярни двигателя.
  • Всичко се случва в "реално време", т.е. веднага след като се направи промяна някъде в прилагането на всички други части са незабавно актуализира.

Ако намерите този софтуер полезна тогава моля, помисли направите малко дарение към текущите разходи за развитие. Уеб хостинг струва пари, както правят компилатори и инструменти за разработка.

http://www.weitz.de/regex-coach/paypal.gif
САЩ 5 $

http://www.weitz.de/regex-coach/paypal.gif
САЩ $10

http://www.weitz.de/regex-coach/paypal.gif
САЩ $ 20

http://www.weitz.de/regex-coach/paypal.gif
още ...

Щракнете върху някоя от снимките, за да даряват PayPal.



Съдържание




Изтегляне и инсталиране

The Regex треньор заедно с тази документация може да бъде изтеглена от http://weitz.de/files/regex-coach.exe . Текущата версия е 0.9.2 - виж ChangeLog за какво е новото. Файлът (монтажник) е около 2MB по размер.

Вие трябва да използвате Windows 2000 или Windows XP с всички актуализации и сервизни пакети, инсталирани. Програмата може да работи с по-стари или незакърпени версии на Windows, но не очаквайте подкрепа за тези конфигурации. Виж също по-долу .

Можете също така трябва да има по време на работа библиотеката на Microsoft msvcr80.dll  инсталиран. Ако не разполагат с него или ако не сте сигурни, можете да го получите fromhttp://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=en .

Ако имате предишна версия (0.8.5 или по-рано) на The Regex треньор инсталиран, деинсталирайте го, преди да инсталирате новата версия! Ако не сте направили това, и новото заявление няма да започне, премахнете файла The Regex Coach.exe.manifest  от директорията на приложение.

По-стари версии, Linux, FreeBSD, Mac

Започвайки с версия 0.9.0, вече няма да е Linux версия на треньора Regex - твърде малко хора са го използват, и това е просто твърде много работа за мен, за да се поддържа и двете версии. Все още можете да изтеглите последната (вече не се поддържа) Linux освобождаването от http://weitz.de/files/regex-coach-0.8.5.tgz - той също ще работи на FreeBSD, прочетете документацията. В допълнение към това, вижте тези инсталационни намеци за движение The Regex треньор под Wine . Има и RPM за OpenSUSE 11.1 достъпно тук благодарение на Malcolm Lewis.

Ако имате по-стара версия на Windows и текущата версия на The Regex треньор не работи за вас, можете да опитате с последната версия, която е построена с LispWorks 4.4.6 - това е най- http://weitz.de/files / регулярни-треньор-0.8.5.exe . Ако това работи за вас - добре. Не очаквайте подкрепа или ъпдейти, все пак.

Не е Mac версия и нямам никакви планове да освободи едно. Изпращане пишете ми и моли за това няма да промени това. И, не, аз не искам да отворя източник прилагането или изпратете на изходния код за вас насаме - няма нужда да питам ...

Но ... има начин да стартирате Windows версията на Mac и тук е как да го направя . (Благодарение на Алек Clews за това.)

Благодарение на Lorenzo Гати там също е готов за писта (на 10.5) Вино-версия тук .

Джереми Райнър е написал "почит" към Regex треньор в Java - виж тук за повече информация. 

Разрешително

Треньорът Regex е Copyright © 2003-2008 д-р Едмунд Weitz - Всички права запазени.

Треньорът Regex е безплатна за частни или нетърговски цели, но ако искаш и да го използвате, че ще е хубаво, ако бихте могли да дарите малка сума за финансиране на по-нататъшно развитие. Треньорът Regex е също безплатно за търговска употреба, но не е позволено отново да го разпространявате и / или искат пари за него, без писмено разрешение от автора - ми пишете на edi@weitz.de за подробности.

В програмата е предвидено, каквато е ", без гаранция - използвайте на свой ​​собствен риск. 

Support, доклади за грешки, пощенски списък

Ако искате да бъдете уведомявани за нови версии на The Regex треньор моля се абонирате за "регулярни-треньор" пощенския списък е да използвате уеб интерфейса на http://common-lisp.net/mailman/listinfo/regex-coach . Можете да търсите архивите на пощенските списъци, използващи тази Google Custom Search Engine .

Можете също така да използвате този списък за въпроси, доклади за грешки, както и заявки за функции.

Как да съобщим за бъгове

Ако сте открили грешка в The Regex треньор, аз съм щастлив, ако го докладва и ще се опитам да го оправя. Все пак, моля, следвайте следната процедура:

  • Уверете се, че използвате най-новата версия на The Regex треньор на Windows. По-стари версии и други операционни системи вече не се поддържат.
  • Уверете се, че сте msvcr80.dll инсталиран - виж по-горе .
  • Уверете се, че не е нужно стария явна файл вече - виж по-горе .
  • Осигуряване на информация за версията Windows (включително сервизен пакет), който използвате.
  • Опитайте се да намалите проблема сте се натъкват на един прост, самостоятелен тест, така че мога да възпроизвежда бъг лесно.
  • Изпрати доклади за грешки на пощенския списък и да не ме насаме. Може Simpy игнорира доклади не са изпратени към списъка.
  • Ако имате пет минути, прочетете този текст от Simon Tatham.

Ако смятате, че това се иска прекалено много, моля имайте предвид, че можете да получите на Regex треньор за свободен и никой не ми плаща за фиксиране бъгове или отговаряне на въпроси. Ако това е твърде много работа, за да изпрати приличен доклад за грешка на правилното място, тогава мисля, че е честно, ако смятам, че е твърде много работа, за да ти отговоря. 


Как да използвате The Regex треньор

Треньорът Regex ви дава възможност да изпробват поведението на редовните оператори на Perl израз (а именно m// , s/// , и split ) интерактивно и в "реално време", т.е. веднага след като направите промени някъде резултатите се показват незабавно . Можете също така да задава въпроси към регулярни двигател за избрани части от вашия регулярен израз и да гледам как го прави разбор на вашия вход.

Разбира се, това приложение трябва също да бъде полезна за програмисти, използващи Perl съвместими регулярни изрази инструментариуми като PCRE (които се използват от проекти като Python , Apache и PHP ) или CL-PPCRE . Също така, регулярни изрази в езика и тези на XML Schema са много подобни на Perl.

Следните описания ще използват понятията, въведени с настоящия анотирани снимки. Самата скрийншота е обекта от - кликнете върху някоя част от него, за да преминете директно към съответния раздел на докторите. 

http://www.weitz.de/regex-coach/shot.png

Основните стъклата

Основната сфера на приложението е обитаван от два панела, които винаги са видими. И двамата се държат като обикновени редактори, т.е. можете да въвеждате текст в тях и да го променят. Можете също да копирате и поставите текст между тези стъкла и други приложения. На Windows, най-бързи бутони наподобяват тези на типичните редактори на Windows, за Linux на бързи бутони са тези на GNU Emacs . (Ако никога не сте използвали Emacs може би знаете някои от тези бързи бутони от bash черупката.) Можете да използвате TAB , за да превключвате между тези редактори. Това също ще цикъл през прозореца на замяна , ако тя е видима.

Горният екран е екран с регулярен израз . Тук ще напишете регулярния израз, който искате да разследват.

Вторият панел е мишена на прозореца . Тук вие ще въведете текст (целевата низ) регулярния израз ще се опита да съвпадат.

Ако има съвпадение, от страна на целевата низ че съвпадение ще бъде подчертана от жълт фон. (Ако вие също се провери " g " квадратчето модификатор ще се наблегне на всички мачове - на "сегашната" един в жълто, а другите в зелено.)

Областите на съобщение

И двете от посочените по-горе стъклата има участъци съобщение директно под тях. В района регулярни съобщение обикновено е празен, но тя ще се появи съобщение за грешка с червени букви ако регулярния израз не е синтактично правилен. Той също така ще покаже предупреждение в сиви букви, ако съдържанието на прозореца на регулярни завършва с празно пространство, защото това може да не е това, което искате. Разбира се можете да пренебрегнете това предупреждение, ако сте въвели Празното героите нарочно.

В района целева съобщение ще покаже степента на мача (или ви уведомява, че там не може да се мери изобщо). Това е особено полезно, ако има съвпадение с нулева дължина, защото вие няма да видите никакви подчертани символи в целевата прозореца в този случай. Посланието "Match от п до m" означава, че героите се започва от позиция N до m(изключително) принадлежат към мача. Първият символ на низа е герой 0 (нула), както обикновено.

Отбелязването избрани части от мача

Ако има съвпадение, можете да маркирате избрани части от мача, които са показани в оранжево. Настройката по подразбиране е да се отрази на избора, които сте направили в прозореца на регулярен израз. Тя работи по следния начин: Ако сте избрали валиден под-израз на регулярния израз в регулярни прозореца на съответната част от целевата низ се показва в оранжево. Виждате ли пример в изстрелът екран горе, където " b "в регулярния израз е избран, който съответства на четвъртия" b "в целевата низ.

Ако сте направили неправилен избор на бутона за избор на осветяване е забранено. Вие също така ще видите съобщение за вашия избор е невалиден в информационния екран .

Ако вие нямате представа какво е "валидна под-израз" на регулярния израз може да се има предвид следното правило: Всяка част от регулярния израз, който може да бъде обвит в не-улавяне група - т.е. с (?:...) - без да се променя смисъла на израза е валиден.

(По-точно описание за това ще бъде: Помислете за разбор дървото на регулярния израз, и предположи, че всяко листо на дървото, което е низ се разделя на отделните герои, които заедно представляват низ Сега, всяка съседна част от. регулярен израз, който може да бъде напълно и точно обхванат от възли на синтактична дървото е валидна под-израз.)

Бутоните за очертаване

Отделно от подчертаване на част от целевата низ, който съответства на избраната област в прозореца на регулярни можете да маркирате частите, които съответстват на заловените регистрирай групи (оградени от скоби) в регулярния израз. Това се прави, като изберете един от бутоните за очертаване . Те са разрешени само ако има някакви заловените регистри.

Натиснете бутона "нищо", за да изключите подчертаване.

Съобщенията за очертаване

Всеки от бутоните Светещи има малък акцент съобщение , свързано с него (подобно на зоната съобщение на целевата прозореца), която показва коя част ще бъде избрана, ако бяха избрали съответния бутон. Отново, това е особено полезно в случай на нулева дължина (под-) съвпадения.

Разхождайки се през целевата низ

Обикновено, приложението ще се опита да намери първия мач, започвайки от положение 0 на целевата низ. Можете да използвате бутоните за сканиране , за да се движи напред (или назад) един мач в даден момент, ако има повече от един мач. (Това е начина, по регулярни двигателя Perl ще се държат в случай на "глобално" мачове - т.е. тези с " g "модификатор - или ако кандидатствате за split оператора.)

Заглавието над бутоните за сканиране, който обикновено се казва "Сканиране от 0" ще се променят съответно показва съобщение като "Scan # п от m", което означава, че регулярни двигателя се опитва да намери н ия мач започвайки характер m на целевата низ . В района целева съобщение ще бъде променена, както и - че ще каже "Match # п от к да л" вместо "Match от к да л" (или тя ще каже: "Няма други мач" вместо "няма мач", ако като сте натиснали бутона за сканиране напред твърде често).

Стесняването на сканирането

С помощта на граничните бутоните можете да стесните сканиране на част от целевата низ. Това на практика крие символи от началото и / или края на целевата низ от регулярен израз двигателя. Героите, които са маскирани представено така са покрити с тъмно сив цвят в целевата прозореца . Имайте предвид, че ефектът на бутоните за сканиране се нулира от граничните бутоните.

Прозорецът на информация

Изборът на "Info" раздела ще разкрие прозореца на информация, която е област, където приложението се опитва да обясни какво регулярния израз е трябвало да се направи в обикновен английски. Ако сте избрали е част от регулярния израз само тази част ще бъде обяснено.

Дървото на разбор

Ако изберете "Tree" раздела ще видите (опростен) графично представяне на синтактична дървото на регулярния израз. Това е начина, по регулярни двигателя "вижда" на израза и това може да ви помогне да разберете какво се случва (или защо регулярния израз не се тълкува като сте възнамерявали да бъде).

Подмяна на текст

С избора на "Замяна" в раздела ще се отвори място с две пана. Първият включва прост редактор като тези в главните стъклата . Тук можете да въведете подмяна стринг, който действа като втори аргумент на Perl е s/// (заместване) оператор. Вторият панел ще покаже резултат на заместването. Съдържанието на тези стъкла са безсмислени, ако регулярния израз има синтактични грешки.

Имайте предвид, че ще трябва да се използва " \& "," \` "," \' "и" \ n ", вместо на Perl е" $& "," $` "," $' "и" $ n "- вижте документацията CL-PPCRE за кървавите подробности.

Разделяне на текст

The "Split" раздела ще разкрие прозорец, който показва резултата от прилагането на Perl е split оператор на целевата низ. Тъй като този резултат обикновено е масив от низове елементите на този масив са визуално разделени от вертикални линии с размерите на космически характер. (Това означава, че две вертикални линии в един ред означават, че там е низ с нулева дължина между тях. И това също следва, че масивът има само един елемент, ако няма вертикална линия на всички.)

Можете да използвате радио бутоните под екрана, за да изберете друг разделител, ако вертикалната линия се случва да бъде част от вашата целева низ. Но имайте предвид, че ако изберете опцията "блок" може значително да забави програмата, ако вашата целева струни са дълги.

Можете да въведете неотрицателно число в полето "Лимит". Това съответства на този трети аргумент за Perl е split оператор.

Single-стъпкови чрез процеса на сравняване

И накрая, "Step" раздела ще ви доведе до две стъкла, които имат същото съдържание като двете основни стъклата . Въпреки това, тук можете да гледате на регулярни двигателят "на работното място". Това се обяснява най-добре с един пример, така че вижте съответната част на урока .

Имайте предвид, че много от оптимизациите направени от CL-PPCRE двигателя са изключени тук за педагогически причини. (Например, когато се опитват да съвпада с регулярен израз a*abc срещу целевите низ aaaabd "истински" двигател не би дори да започне, тъй като първо ще се използва за търсене Бойер-Мур-Horspool за да проверите дали постоянен низ abc е някъде . в мишената) Някои от тях остават обаче: Двигателят само ще се опита да съвпадат от позиция 0, ако RegEx започва с .* и е в режим на единичен ред. Също така, както ще видите, Стъпковият се опитва да съответства константни низове като цяло (вместо единични символи, които биха били доста скучно).

Модификатори

Натискането на един от квадратчетата модификатори е еквивалентно на използване на съответния модификатор знак в Perl. Например, " i "квадратчето превключва между главни и малки букви и нечувствително съвпадение. Имайте предвид, че " g "(" глобално ") модификатор засяга само подмяна операция - това не оказва влияние върху самия мач. Ако е включен други мачове на двигателя ще намерите са подчертани в зелено в мишена на прозореца , все пак.

Преоразмеряване

Можете да промените размера на прозореца на приложението, както обикновено, като плъзнете долния десен ъгъл. Но можете да промените размера на стъклата спрямо друга, като плъзнете един от разделителите преоразмеряване . Те не са видими във версията Windows, но ще забележи, че курсора се променя, ако позициониране на мишката над тях. Има също така и преоразмеряване разделител между двете резервни стъкла . The Regex треньор ще помни размера и позицията на нейния главен прозорец между две извиквания.

Записване за зареждане и от файлове

Ако една от двете основни стъклата има фокуса можете да - от менюто File - вмъкнете съдържанието на текстов файл в този прозорец или да запишете съдържанието на този прозорец, за да диск. Последното може да се направи чрез натискане на Ctrl-s (или Ctrl-x Ctrl-s на Linux). Съдържанието на тези два панела, също ще останат устойчиви между две извиквания на треньора Regex.

Забележка: Поради начина Motif работи, менюто файл не може да се използва като този на Linux. Вместо това можете да използвате ключови последователности Emacs Ctrl-x Ctrl-wи Ctrl-x i .

Autoscroll

The Regex треньор има функция Autoscroll която може да се включва и изключва чрез съответното меню. Ако Autoscroll е включен, след това всеки път, когато целевата низ се прави разбор на превъртане на целевата екрана ще се премести така, че в началото (или в края - в ​​зависимост от това какво сте избрали) от мача се вижда повече или по-малко в средата на стъклото. Ако сте избрали да се подчертаят определени части от мача, а след това на превъртане ще се премести в началото или в края на маркирания региона вместо. Това разбира се е от значение само, ако целевата низ е твърде голям, за да се вмести в прозореца.

Без автоматично превъртане се случва, докато целевата панел има вход фокуса. 

Известни бъгове и ограничения

Двигателят на регулярен израз може да се откаже с препълване на стека на относително дълги регулярни изрази. (Това ще се случи много по-рано и с CL-PPCRE само като процес на разбор се преплита със специфични за треньор Regex код.) Въпреки че може би контра-интуитивен, тя може да помогне да добавите някои не-заснемане на групи, т.е. "aa...abb...b "(с достатъчно знаци inbetween) може да се провали, докато" (?:aa...a)(?:bb...b) "не е така.

Също така, изглежда, че има проблеми с източните версии на Windows европейски, по-специално с "набор от символи 1250" или нещо подобно. Съжалявам, но в момента не разполагат с време и ресурси, за да разследва този по-нататък.

Ако срещнете някакви други бъгове или проблеми, можете да ги изпратите на пощенския списък . 

Техническа информация

Треньорът Regex е записано в общата Lisp и е разработен на базата на LispWorks развитие на околната среда. Двигателят на регулярен израз се използва, е CL-PPCRE .

То може да бъде полезно да се отбележи, че поради динамичния характер на Lisp The Regex треньор може да се пише без да се променя един ред код в двигател на CL-PPCRE самата въпреки че молбата трябва да следите информация и заявки на двигателя, докато редовните изрази е разбор и скенерите са построени. Всичко това може да се направи "постфактум", като се използват съоръженията, като defadvice и :around методи. Представете си написването на тази молба в Perl , без да докосвате регулярни двигател Perl е ... :)

Също така, благодарение на по-платформа CAPI инструментариум LispWork на кода за версии на Windows и Linux е почти идентични, без каквито и да било платформа специфични части (с изключение на някои линии по отношение на различни шрифтове и бързи бутони). 

Съвместимост с Perl

Вижте документацията CL-PPCRE . 


Благодарности

Сценарият за компилиране на инсталатора на Windows е любезно предоставена от Ian H. Иконата на приложението Windows е създаден от André Derouaux. The PNG включени с Линукс дистрибуция е допринесла от Джон Troy Hurteau и се основава на икона Андре. The Lisp логото е проектирана от Manfred Спилър . Благодарение на Алекс Дърва за информация RPM. Благодарение на Джим Prewett за FreeBSD информация.

Brigitte Bovy от LispWorks ("Xanalys" по това време) подкрепа помогна с труден взаимодействието между стъклата редактор. Аз също имам няколко полезни съвети от пощенския списък Lispworks, по-специално от Jeff Колдуел, Джон DeSoi, David Fox, и Ник Ливайн.

Благодарение на момчетата от " Café Olé "в Хамбург, където съм написал голяма част от кода.

Развитие на The Regex треньор е бил подкрепен от Euphemismen.de .

$ Header: / ЮЕсАр / местни / cvsrep / регулярни-треньор / док / index.html, V 1.11 19.10.2013 18:26:56 EDI Exp $

BACK TO MY СТРАНИЦА

Like Us On FB

Ajoft Technologies

We are enterprise level product and applications development company specializing in developing high end scalable software and smart phone products and advanced applications.
Live Help