Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Bonn-to-code.net Keine Angst vor Regulären Ausdrücken 21.09.2010 Martin Winkler

Ähnliche Präsentationen


Präsentation zum Thema: "Bonn-to-code.net Keine Angst vor Regulären Ausdrücken 21.09.2010 Martin Winkler"—  Präsentation transkript:

1 bonn-to-code.net Keine Angst vor Regulären Ausdrücken 21.09.2010 Martin Winkler EMail:martinwinkler82@web.demartinwinkler82@web.de

2 Was ist ein Regulärer Ausdruck? Eine Schablone Schablone (RegEx)......passt auf a*a, aa, aaa,... (aa)*aa, aaaa,... (a|b)a, b

3 Character Classes AusdruckBedeutung.Beliebiger Character [abcd] oder [a-zA-Z]Einer aus der Menge [^abcd]Keiner aus der Menge

4 Character Classes (cont'd) AusdruckBedeutung \sWhitespace Character \SKein Whitespace \dZiffer (0,…,9) \DKeine Ziffer \wWord-Character \WKein Word-Character

5 Group ( ) (? abc) Named Group (aa)* (a|b) (? )

6 Quantifier AusdruckBedeutung *0 oder mehr +1 oder mehr ?0 oder 1

7 Anchor AusdruckBedeutung \AMuss am String-Anfang matchen \z ( kleines z )Muss am String-Ende matchen Bar\zfindet einen Treffer bei FooBar \ABarfindet keinen Treffer bei FooBar

8 Alternative | ab|cd ab oder cd

9 Was kann ich damit anfangen? Prüfen: Erfüllt ein string ein Muster? Extrahieren: Substrings rausgreifen und weiterverwenden Ersetzen: Ersatz verwendet das Ersetzte...

10 Fallstricke #1 A|AB vs AB|A Pattern A|AB EingabeAMatched A ABMatched A Pattern AB|A EingabeAMatched A ABMatched AB

11 Fallstricke #2 Zeilenumbrüche und. (Wildcard) Wildcard. matched per Default-Verhalten keine Zeilenumbrüche. Sollen Zeilenumbrüche ebenfalls matchen, Singleline-Modus aktivieren: Regex.Match( input, pattern, RegexOptions.Singleline );

12 Fallstricke #3 B(? A)?B ist nicht B(? A?)B In beiden Fällen ist A in BAB optional Aber: (...)? EingabeBBGroup[A].Count ist 0 (...?) EingabeBBGroup[A].Count ist 1

13 Fallstricke #4 \(* \)* stellt nicht sicher: gleiche Anzahl von ( und ) \(* \)* matched sowohl ( ),(( )) Als auch ()) oder ))) usw.

14 Wo schlage ich nach? Liste aller Sprachelemente http://msdn.microsoft.com/en-us/library/az24scfc.aspx Umfassende Erklärung von RegEx (auch lookahead/lookbehind assertions und back references) http://www.vsj.co.uk/articles/display.asp?id=789 RegEx Optionen http://msdn.microsoft.com/en- us/library/system.text.regularexpressions.regexoptions%28v=VS.100%29.aspx Was ist denn nun in \w enthalten? http://msdn.microsoft.com/en-us/library/20bw873z.aspx#WordCharacter und http://stackoverflow.com/questions/2998519/net-regex-what-is-the-word- character-whttp://stackoverflow.com/questions/2998519/net-regex-what-is-the-word- character-w dazu: Unicode Character Database http://www.unicode.org/ucd/ dazu: Liste der 'Punctuation, Connector' Category http://www.fileformat.info/info/unicode/category/Pc/list.htm


Herunterladen ppt "Bonn-to-code.net Keine Angst vor Regulären Ausdrücken 21.09.2010 Martin Winkler"

Ähnliche Präsentationen


Google-Anzeigen