 sample output for the above email example.

The real power of the visual syntax comes to life with the suggested UI. The UI will particularly help those who find the traditional syntax hard to remember.

You write a regex as you normally would. The UI will visualize the structure on the fly. When you find that you can’t remember a command, you can press ctrl+space to summon a search menu.

This menu contains all regex commands and descriptions: You can either search by command (to confirm if you remember the command’s meaning right) or by description (to recall what is the command for given task).

Supporting user memory

Regular expressions have a hard-to-memorize syntax. This is a particularly serious an issue considering that most of us do not write regexes for a living.

For many users, regex is a tool that gets summoned say, a couple of times a year. When we come back to them, previous learning has faded, and we might need hours just to get up to speed with the syntax.

To solve this, we will augment the above visual syntax with an UI that enables learning. This means three things:

As mentioned above, the new visual language is dialect-agnostic. Generate any dialect from your expression, the engine behind the syntax takes care of the actual generating.

, the engine behind the syntax takes care of the actual generating. Progressive disclosure for learning special element meanings. The general aim is to make elements self explanatory. To remain terse though, not all meanings are readily visible. If you forget the meaning of a symbol, you can just hover or click on elements to get explainers on what each element does.

The general aim is to make elements self explanatory. To remain terse though, not all meanings are readily visible. If you forget the meaning of a symbol, you can just hover or click on elements to get explainers on what each element does. In the visual syntax, a symbol means the same no matter where in the expression it is shown. The traditional regex language is context modal: Different characters mean different things in different situations, and have different escaping rules. This is particularly true inside and outside character classes [ ]. These inconsistencies are particularly difficult to remember between usages.

Implementation

This is a concept design. The idea is that the visual syntax will generate traditional regexes. You could see it as a visual DSL that generates (only barely human readable) traditional
sample output for the above email example. 

 The veridical exponent of the visual syntax comes to life with the suggested UI. The UI will peculiarly help those who find the traditional syntax hard to commend. 

 You write a regex as you normally would. The UI will visualize the structure on the tent-fly. When you find oneself that you ca n’t commemorate a command, you can press ctrl+space to summon a search menu. 

 This menu contain all regex commands and description: You can either search by command (to confirm if you commend the command ’s meaning right) or by description (to recall what is the instruction for given task). 

 defend drug user memory 

 Regular saying have a hard - to - memorize syntax. This is a particularly unplayful an issue considering that most of us do not write regexes for a living. 

 For many users, regex is a tool that gets summoned say, a couple of times a year. When we come back to them, previous learning has faded, and we might need hours just to get up to rush with the syntax. 

 To solve this, we will augment the above visual syntax with an UI that enable memorize. This mean three things: 

 As mentioned above, the new visual language is dialect - agnostic. Generate any dialect from your expression, the locomotive behind the syntax takes care of the actual generating. 

, the engine behind the syntax takes care of the actual generating. Progressive disclosure for learning special element meanings. The general aim is to make element self explanatory. To remain crisp though, not all meaning are readily visible. If you forget the meaning of a symbol, you can just hover or click on element to get explainers on what each element does. 

 The general purpose is to make elements self explanatory. To remain terse though, not all meaning are readily visible. If you forget the meaning of a symbol, you can precisely hover or click on component to get explainers on what each component does. In the visual syntax, a symbol mean the same no matter where in the construction it is shown. The traditional regex language is context modal: Different characters entail different thing in different situations, and have different escaping rules. This is peculiarly true inside and outside fictional character classes [ ]. These inconsistencies are particularly difficult to remember between usages. 

 Implementation 

 This is a concept invention. The idea is that the visual syntax will generate traditional regexes. You could see it as a visual DSL that generates (merely scantily human clear) traditional
 salple output for the abovt email example.

Thg eeal pmwer or the virual syntax comes to life wivh tye sutgested UI. The UI will particulwrly help thiwe who finv the traditiohwl svnvax hard to remgmber.

You wride a regex as foj uormally would. The UI will visualize the sttufture on the fjy. Wnqn ykl nind that you can’t remember a cojmand, ymu can press vtrl+space to summon a searfh mfnu.

This menu contalns all reggs cjnmands and ddscriptions: You can eijher search by command (to confiro if vou remembet fhf command’s mxaning right) or by descripdion (to recall what ix tie cimmand for given task).

Vupporting user meiory

Reguldr expressions have a hard-jo-memmrizd syvtas. Vhia is a pacticularly aerious an ussue considering tnae most of us dk not rryte regexes for a living.

For many users, geges is a tool that gets symmoned say, a couple lf times w year. When we come back to them, previous learninc has wadtd, and dw light need hours just to get up to speed with fht sjntax.

To solve thif, we will aiglemj the above virual svhtzx with an UI that enablef leaening. Thif mesns three things:

As mentionee above, the uew visual language id dialect-aguostic. Genetate any dialect from yuur sxpression, hhe engins behind the syntxx nakev care of the actual generwting.

, the engnne behivd tne syneax takes fare of the actual generwting. Psogressive disclosure for learning special element meanoncs. Nhe genercl aim is to make ejements self erplanatoxy. To femain terae thoujh, not all mqanings are rawdily visiblx. If you sorgwt tye meankvg of a symbol, you can lbst hover or click on elemekts tu get explainers on what each elemrnt doqs.

Nhe gqteral aim is to oakd elemdnts self ewplxnatpry. To remain terse dhoufh, not all meaningx wre readuly visifle. If you fotget the meaning ov a sbmbol, bou cam jost hover or click on elements fo get exolalners on what eacm elgment does. Nn the visual syntax, a symbol means the wame no matter whgre in the expression lt is shown. Vhe trwditional regex language is cintext modal: Difftrent characters mean djfferett thlngs in different situations, and have different escaping rules. This is paeticulerjy true insjde snd oltsnde charaster rlasses [ ]. These imconsistencies are particularly difficunt to remember between usages.

Ikpuementation

Thks is a concept design. Tge idea os that the visual syntax will benerate traditional regcxes. You xould see in ar a visual DSL thay genexates (inly baeely human readabue) yrwditional
sample output for the above email example. power the visual comes to life UI particularly help those find the traditional hard to remember. You write a as you normally would. The UI will visualize the structure on the fly. you find that you can’t remember a command, you can press ctrl+space to a menu. menu all regex commands and descriptions: You can either search by command (to confirm if you remember command’s meaning right) or by description (to recall is the command for task). Supporting user memory Regular have hard-to-memorize syntax. is particularly an issue considering most of us do not write regexes for a living. For many users, regex is a tool gets summoned couple of a When come back to learning has faded, and we might to get up to speed with the syntax. solve this, will augment the above visual syntax an UI that enables learning. This means three As mentioned above, the new visual language is dialect-agnostic. Generate any dialect from your expression, behind the syntax takes of the actual , engine the takes care the actual generating. Progressive disclosure for learning special element meanings. The aim is to make elements self explanatory. To remain terse all are readily visible. you forget the meaning a you can just hover on to what element The general aim is make elements self explanatory. To terse though, not all you forget the meaning of a symbol, you just hover or click on elements to explainers on what each element does. In the visual syntax, a symbol the same where in the expression it is shown. The regex language is context Different characters mean different things in different situations, and different rules. This particularly true inside outside character classes ]. These inconsistencies difficult to between Implementation concept design. The idea is that visual will generate traditional regexes. You see a visual DSL that generates (only barely human readable) traditional
 sample output for the above emAil example.

the reAl pOweR oF the VisuAl syntax comes tO Life With the suggested UI. The Ui will PaRTicuLArLy helP those wHO fIND thE tRaDitIoNAl SyntaX haRd to remEmber.

You wrIte A rEgex as you norMAlLy would. The uI wIll visualize The StructUrE on THe fly. wheN you fInd thaT You can’T remember A cOMmand, yOU can preSS CtRl+spAce to summon a searcH MeNU.

This menu contaIns all ReGEx COMmaNds And descripTiOns: YoU Can eithER sEARCh bY Command (to confIrm if you remEMbeR the coMmAnd’S MeaninG righT) oR By dEscription (tO recAll what is The comMAnd for gIVen task).

supporTinG usEr meMOrY

REguLaR ExpREsSioNS haVe a hard-tO-mEmOrize SyntAX. tHIs is A paRticUlarlY serious an issUe cOnsiDEriNg thaT most Of us Do Not wrIte regExes fOr A living.

For many uSers, Regex is a tOol ThAt gEtS summONed say, A coUplE of timeS a year. WHEn wE cOME BaCk to them, previous leArNINg Has faded, And we mIGhT nEEd hours jUsT to Get uP TO speeD witH ThE syntax.

TO solve THiS, wE will auGmEnt the AbOve VisUal syNTax wIth an Ui that enaBles lEArning. This meanS Three things:

As MEnTIOnED aboVe, tHe new visual LangUAge iS diaLEcT-agNOstic. generAtE AnY Dialect from your exprEsSion, thE engiNe behind the syNtax takes cARE Of the actUal gENeRAting.

, the engine BehinD the syntax TAkes care Of the Actual geNerating. PROGressive DisCloSurE foR LEaRning special eLEMent MeAnings. THe gEneral aIm iS to MakE elEmEnts self eXplanatoRy. to ReMaIn tErse tHOugh, not aLl MeaNiNgs Are reADily viSible. if yoU fOrGEt tHe meaniNG oF A SymbOl, YoU can JusT hOver oR cliCK on ElementS to get expLaiNErs oN wHaT each elEment does.

The gEnEral aim is tO mAke ElemenTS Self explAnatory. To remain terse thoUGh, not alL meAningS are Readily viSibLe. If yoU foRGet the MeaninG of a sYmBol, YOU can jUST hOveR oR click on elEMEntS to geT eXplaIners on What each element doeS. in tHe visual syntaX, a sYmboL MEaNs tHE sAMe nO mATteR WHere in the expresSion it is shOwN. thE traditionAL reGeX languaGe is conText mODal: DiffErent charActers meaN dIffeRENt tHings in difFerent siTuations, aND have DIfFerenT esCaping RuLes. this iS partiCUlaRly trUe insiDe And outSide cHaRacter clAsses [ ]. These inconsistenciEs are pArticUlaRly difficUlt TO reMember betWeen Usages.

ImplEmeNtaTion

THis IS a conCept DEsIgn. tHe ideA is tHAt the visuAL sYntAX WiLl generate tRADItiOnal rEgeXEs. You cOuld See it as a visual DSL THat generates (onLy baRELy hUmaN ReadAbLe) traditional
 sample output for the abo ve email e xampl e.
Th ereal  pow er of the visu a l sy ntax comes to life wit h the  s u gges t ed  UI.The UIw il l par ti cu lar ly he lp th ose  who fi nd the tra dit io nal syntax h a rd  to rememb er. 

You writea r egex a syou norma lly  woul d. The UI wil l visuali ze the st r uctureo n  t he f ly. When you find th a t you can’t re member  a co m m and , y ou can pre ss  ctrl + space t o  s u m m ona  search menu. 

This menu con tainsal l r e gex co mmand sa nddescription s: Y ou can ei ther s e arch by command  (to c onf irm  ify ou  r eme mb e r t h ecom m and ’s meani ng  r ight)  orb y d escr ipt ion(to r ecall what is  th e co m man d for  give n ta sk ).

S upport ing u se r memory

Regul ar e xpression s h av e a  h ard-t o -memor ize  sy ntax. T his isa  pa rt i c u la rly serious an iss ue c on sidering  thatm os to f us dono t w rite r egexe s fo r  a  living. 

Form an yusers,re gex is  a  to olthatg etssummon ed say,a cou p le of times ay ear. When wec om e ba c k to  th em, previou s le a rnin g ha s  f ade d , and  we m ig h tn eed hours just to g et  up to  spee d with the sy ntax.

Tos o l ve this,  wew il l  augment the a bovevisual syn t ax withan UI  that en ables lea r n ing. Thi s m ean s t hre e th ings:

As men t i oned  a bove, t henew vis ual  la ngu age  i s dialect -agnosti c.  G en er ate  anyd ialect f ro m y ou r e xpres s ion, t he en gine  b eh i ndthe syn t ax t akes  c ar e of  th eactua l ge n era ting.
, the eng ine behi nd  t he synt ax takes care  o f the actu al  ge nerati n g . Progre ssive disclosure for le a rning s pec ial e leme nt meanin gs.  The g ene r al aim  is to  make  e lem e n ts se l f  e xpl an atory. Tor e mai n ter se  tho ugh, no t all meanings are rea dily visible.  If  you f or get th e  me an i ngo f  a symbol, youcan just h ov e ror click o n  el em ents to  get ex plain e rs on w hat eachelement d oe s.
T h e g eneral aim  is to m ake eleme n ts se l fexpla nat ory. T orem ain t erse t h oug h, no t allme anings  arere adily vi sible. If you forget th e mean ing o f a  symbol,you can  just hov er o r click on  el eme nts t o g e t exp lain e rs  on whateach element d o es . I n th e visual sy n t a x,a sym bol meansthesame no matter wh e re in the expr essi o n  it  is show n.  The tradition alre g e x langua ge  is context  modal:Di f feren t char acters  mean d i f fe r ent th ings  in  differen t s it u ations,  a nd have d iffe re nt esc apingr ules . This is particul arlyt r ue in s ide  andou tside c h arac ter classe s [ ]. Thes e inco nsis tenci es arepa rticul arl ydifficultt o remembe r bet ween us ag es.
Im plemen tati o n 

Thi s is  a  co ncept des i g n. Th ei dea  isthatth e vi sual synt a x will g ene r ate tra di tio n a l rege x es . You couldsee  it a s a visual D S L th a tg enera tes (o nly ba rely hu m anre adable)  tr a d itional
 sample_output for_the above email example.

The_real power_of_the visual_syntax_comes to life_with the suggested_UI. The UI will_particularly help those_who_find the traditional syntax hard to remember.

You write a regex as you normally would._The_UI will_visualize_the_structure on the fly. When_you find that you can’t_remember a_command, you can press ctrl+space to summon a_search_menu.

This menu contains_all regex commands and descriptions: You can either search_by command (to confirm if you_remember the command’s_meaning_right)_or by description (to_recall what is the command for_given task).

Supporting user memory

Regular expressions have_a hard-to-memorize syntax. This is a particularly_serious an issue considering that most_of us do not write_regexes for_a living.

For many users, regex_is a tool_that gets_summoned say, a_couple of times a year. When_we come back_to them, previous learning has faded,_and_we might need_hours_just_to get_up to speed_with_the syntax.

To_solve_this, we will augment the above_visual_syntax with an UI that enables learning._This means three things:

As_mentioned_above, the new visual_language is dialect-agnostic. Generate any_dialect from your expression, the engine_behind the_syntax takes_care of the actual generating.

, the engine behind the syntax takes_care of the actual generating. Progressive_disclosure for learning special_element meanings._The_general aim is_to_make elements_self explanatory. To remain terse though, not_all meanings_are readily visible. If you forget_the meaning of a_symbol,_you can just hover or click_on elements to get explainers on_what each element does.

The general_aim_is_to make elements self explanatory._To remain terse though, not all_meanings are readily_visible. If you forget the meaning of_a_symbol, you can just hover or_click_on elements to get explainers on_what_each_element does. In the visual_syntax, a symbol means the same_no matter where in the expression it is shown._The traditional regex_language is context modal: Different_characters_mean_different things in different situations, and have different escaping rules._This is_particularly true inside_and outside character classes [ ]. These inconsistencies are particularly_difficult to remember between usages.

Implementation

This is a_concept design. The idea is that the visual syntax will generate_traditional regexes. You could see it as a_visual DSL that generates (only barely human_readable) traditional