Първоначално в http://weitz.de/regex-coach/. Отиди на главната страница.

Анотация


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

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


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

 

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


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

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

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

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


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


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

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

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

Но има начин да стартирате версия Windows на Mac(http://alecthegeek.wordpress.com/2011/11/16/running-regex-coach-on-osx/) и тук е как да го направя. (Благодарение на Алек Клюс за това.)

Лиценз

The Regex Coach © 2003-2008 д-р Едмунд Weitz - Всички права запазени.

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

Програмата се предоставя “както е”, без гаранция - Използвайте на свой собствен риск.

 

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


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

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

A сърбо-хърватски превод на тази страница от Йована Milutinovich може да се намери в Webhostinggeeks.com и български превод може да бъде намерена на Ajoft.
Как да съобщим за бъгове
Ако сте открили грешка в Regex Coach, аз съм щастлив, ако го докладва и ще се опитам да го оправя. Все пак, моля, следвайте следната процедура:

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


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

Как да използваме Regex Coach


Regex ви дава възможност да изпробват поведението на редовните оператори експресия на Perl (а именно м //, S /// и разделяне) интерактивно и в “реално време”, т.е. веднага след като направите промени някъде резултатите се показват веднага . Можете също така да задава въпроси към регулярен израз двигател за избрани части от вашия регулярен израз и да гледам как го прави разбор вашия вход.

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

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

 

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

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

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

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


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

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


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

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

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

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


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

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


Съобщенията връхната
Всеки от бутоните връхната има малък акцент съобщение, свързано с него (подобно на зоната на съобщение на целевата панел), който показва коя част ще бъде избрана, ако бяха избрани на съответния бутон. Отново, това е особено полезно в случай на нулева дължина (под) мачове.
Разхождайки се през целевата низ
Обикновено, приложението ще се опита да намери първия мач започва от позиция 0 на целевата низ. Можете да използвате бутоните за сканиране, за да се движи напред (или назад), един мач в даден момент, ако има повече от един мач. (Това е начина, по регулярен израз двигателя Perl ще се държат в случай на “глобалнамачове - т.е. тези с “G” модификатор -. Или ако се прилага от оператора на разделяне)

Заглавието над бутоните за сканиране, който обикновено се казва Сканиране от 0″ ще се промени съответно показва съобщение като “Scan #n от m“, което означава, че регулярен израз двигателя се опитва да открие най-тото Мачът започва в герой m на целевата низ. Площта на целевата съобщение ще бъде променена, както и – че ще каже “Match #n от к да л” вместо “Match от к да л” (или тя ще каже: “Не по-нататъшно мач” вместо “Няма съвпадение”, ако сте натиснали бутона за сканиране напред твърде често).


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

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

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

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

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


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

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

Можете да въведете неотрицателно число в полето “Limit”. Това съответства на опционалния трети аргумент за разделяне оператор на Perl.


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

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


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


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

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

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


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

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

Известни бъгове и ограничения
Двигателят на регулярен израз може да се откаже с препълване на стека на относително дълги регулярни изрази. (Това ще се случи много по-рано и с CL-PPCRE сам като процесът на разбор се преплита със специфични за Coach Regex код.) Въпреки че може би контра-интуитивно, това може да помогне да добавите някои не-заснемане на групи, т.е. аа ABB б (с достатъчно знаци inbetween) може да се провали, докато” (: аа а) (?: бб б) “не го прави.

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

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

Leave a Comment