====================================================== ===Regular Expression Practical Session=============== ====================================================== [Regex Interactive Tutorial: http://regexone.com/] Best works in text editors: EditPad Lite/Pro on Windows Sublime Text or TextMate on Mac Alternatively, either of web RE testers: http://regexpal.com/, http://regexr.com/, http://regex101.com/: copy-paste the text into the lower window; test your regular expressions in the upper one. Regex Cheat Sheets: http://www.rexegg.com/regex-quickstart.html INTRO 1. Try the following regex: [ch]at that at chat cat fat phat 3. Try the following regex: [10][23] 02 03 12 13 4. Try the following regex: \d\d\d[- ]\d\d\d\d 501-1234 234 1252 652.2648 713-342-7452 PE6-5000 653-6464x256 5. Try the following regex: runs? runs run 6. Try the following regex: 1\d* 12345 122345 111111 113456 098097 109493 510349 673452 005645 7. Try the following regexes: ar?t, a[fr]?t, ar*t, ar+t, a.*t 1: “at” 2: “art” 3: “arrrrt” 4: “aft” PART I 1. What regular expression matches each of the following? “eat”, “eats”, “ate”, “eaten”, “eating”, “eater”, “eatery” 2. Find all Qadhdhafis... ... the name of the country's head of state [is] Colonel Gaddafi. Wait, no, that's Kaddafi. Or maybe it's Qadhafi. Tell you what, we'll just call him by his first name, which is, er ... hoo boy. (SRC: http://tinyurl.com/4839sks) The LOC lists 72 alternate spellings (SRC: http://tinyurl.com/3nnftpt) Maummar Gaddafi, Moamar AI Kadafi, Moamar al-Gaddafi, Moamar el Gaddafi, Moamar El Kadhafi, Moamar Gaddafi, Moamar Gadhafi, Moamer El Kazzafi, Moamer Gaddafi, Moamer Kadhafi, Moamma Gaddafi, Moammar el Gadhafi, Moammar El Kadhafi, Mo'ammar el-Gadhafi, Moammar Gaddafi, Moammar Gadhafi, Mo'ammar Gadhafi, Moammar Ghadafi, Moammar Kadhafi, Moammar Khadaffy, Moammar Khadafy 3. Find all variations of Iṣbahān (construct the shortest possible regular expression): EASY: Iṣbahān, Iṣfahān, Isbahan, Isfahan, Esfāhān‎, Esfahān, Esfahan, Hispahan, iṣbahān, iṣfahān, isbahan, isfahan, esfāhān‎, esfahān, esfahan, hispahan, EASY (BUT TRICKY): Beč, Beç, Bech, Vidnya, Bécs, Dunaj, Fienna, Vedunia, Вена, Vídeň, Viedeň, Viên, Виена, Viena, Vienna, Vienne, Βιέννη, Vieno, Viin, Vín, Vínarborg, Vindobona, Vīne, Viyana, Vjenë, Vjenna, Vyana, Wean, Wene, Wenen, Wiedeń, Wien, Wina NOTE: Beč (Croatian, Serbian, older Bulgarian), Beç (older Turkish), Bech or Vidnya (Romani), Bécs (Hungarian), Dunaj (Slovene), Fienna (Welsh), Vedunia (Celtic), Вена (Russian), Vídeň (Czech), Viedeň (Slovak), Viên (Vietnamese), Виена (Belarusian), Viena (Catalan, Portuguese, Spanish), Vienna (Italian), Vienne (French), Βιέννη (Greek), Vieno (Esperanto), Viin (Estonian), Vin - װין (Yiddish), Vín (Irish), Vínarborg (Icelandic), Vindobona (Latin), Vīne (Latvian), Viyana (Turkish), Vjenë (Albanian), Vjenna (Maltese), Vyana (Azeri), Wean (local Viennese), 維也納 (Chinese), Wene (Afrikaans), Wenen (Dutch), Wiedeń (Polish), Wien (Danish, Finnish, German, Norwegian, Swedish), ウィーン (Japanese), Wina (Indonesian), فيينا (Arabic), وين (Persian) PART II (more practice) 1. Conversion: Convert “Askin, Leon” > “Leon Askin” Askin, Leon Berger, Helmut Berger, Senta Gold, Käthe Haid, Liane Hörbiger, Attila Hörbiger, Christiane Hörbiger, Paul Kogler, Melanie Lamarr, Hedy Merkatz, Karl Minichmayr, Birgit Moser, Hans Nalder, Reggie Schell, Maximilian Schneider, Romy Schwarzenegger, Arnold Waltz, Christoph Werner, Oskar Vader, Darth 2. Simple: Construct regular expressions that finds references all Austrian cities. Major cities in Austria are as follows: Vienna, Graz, Linz, Salzburg, Innsbruck, Klagenfurt, Villach, Wels, Sankt Pölten, Dornbirn, Wiener Neustadt, Steyr, Feldkirch, Bregenz, Leonding, Klosterneuburg, Baden bei Wien, Wolfsberg, Leoben, Krems, Traun, Amstetten, Lustenau, Kapfenberg, Mödling, Hallein, Kufstein, Traiskirchen, Schwechat, Braunau am Inn, Stockerau, Saalfelden, Ansfelden, Tulln, Hohenems, Spittal an der Drau, Telfs, Ternitz, Perchtoldsdorf, Feldkirchen, Bludenz, Bad Ischl, Eisenstadt, Schwaz, Hall in Tirol, Gmunden, Wörgl, Wals-Siezenheim, Marchtrenk, Bruck an der Mur, Sankt Veit an der Glan, Korneuburg, Neunkirchen, Hard, Vöcklabruck, Lienz, Rankweil, Hollabrunn, Enns, Brunn am Gebirge, Ried im Innkreis, Bad Vöslau, Waidhofen, Knittelfeld, Trofaiach, Mistelbach, Zwettl, Völkermarkt, Götzis, Sankt Johann im Pongau, Gänserndorf, Gerasdorf bei Wien, Ebreichsdorf, Bischofshofen, Groß-Enzersdorf, Seekirchen am Wallersee, Sankt Andrä 3. More Difficult: Construct regular expression that finds only cities from 1) Lower Austria; 2) Salzburg. Vienna (Vienna), Graz (Styria), Linz (Upper Austria), Salzburg (Salzburg), Innsbruck (Tyrol), Klagenfurt (Carinthia), Villach (Carinthia), Wels (Upper Austria), Sankt Pölten (Lower Austria), Dornbirn (Vorarlberg), Wiener Neustadt (Lower Austria), Steyr (Upper Austria), Feldkirch (Vorarlberg), Bregenz (Vorarlberg), Leonding (Upper Austria), Klosterneuburg (Lower Austria), Baden bei Wien (Lower Austria), Wolfsberg (Carinthia), Leoben (Styria), Krems (Lower Austria), Traun (Upper Austria), Amstetten (Lower Austria), Lustenau (Vorarlberg), Kapfenberg (Styria), Mödling (Lower Austria), Hallein (Salzburg), Kufstein (Tyrol), Traiskirchen (Lower Austria), Schwechat (Lower Austria), Braunau am Inn (Upper Austria), Stockerau (Lower Austria), Saalfelden (Salzburg), Ansfelden (Upper Austria), Tulln (Lower Austria), Hohenems (Vorarlberg), Spittal an der Drau (Carinthia), Telfs (Tyrol), Ternitz (Lower Austria), Perchtoldsdorf (Lower Austria), Feldkirchen (Carinthia), Bludenz (Vorarlberg), Bad Ischl (Upper Austria), Eisenstadt (Burgenland), Schwaz (Tyrol), Hall in Tirol (Tyrol), Gmunden (Upper Austria), Wörgl (Tyrol), Wals-Siezenheim (Salzburg), Marchtrenk (Upper Austria), Bruck an der Mur (Styria), Sankt Veit an der Glan (Carinthia), Korneuburg (Lower Austria), Neunkirchen (Lower Austria), Hard (Vorarlberg), Vöcklabruck (Upper Austria), Lienz (Tyrol), Rankweil (Vorarlberg), Hollabrunn (Lower Austria), Enns (Upper Austria), Brunn am Gebirge (Lower Austria), Ried im Innkreis (Upper Austria), Bad Vöslau (Lower Austria), Waidhofen (Lower Austria), Knittelfeld (Styria), Trofaiach (Styria), Mistelbach (Lower Austria), Zwettl (Lower Austria), Völkermarkt (Carinthia), Götzis (Vorarlberg), Sankt Johann im Pongau (Salzburg), Gänserndorf (Lower Austria), Gerasdorf bei Wien (Lower Austria), Ebreichsdorf (Lower Austria), Bischofshofen (Salzburg), Groß-Enzersdorf (Lower Austria), Seekirchen am Wallersee (Salzburg), Sankt Andrä (Carinthia)