User Tools

Site Tools


vba:tutorials:regexptest

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
vba:tutorials:regexptest [01.12.2015 10:07:26]
yaslaw
vba:tutorials:regexptest [14.09.2017 11:33:39] (current)
yaslaw [Patterns bei cRegExp()]
Line 1: Line 1:
 ====== [VBA] RegExp testen im Direktfenster ====== ====== [VBA] RegExp testen im Direktfenster ======
-Einfaches Testen ​unt Entwerfen von Regulären Pattern im Direktfenster+Einfaches Testen ​und Entwerfen von Regulären Pattern im Direktfenster.
  
 Um reguläre Ausdrücke zu erstellen, muss ich immer diverse Proberunden machen, bis sie wirklich das ausgeben, was ich haben will. Dazu verwende ich meine 2 Funktionen [[vba:​cast:​cregexp|cRegExp()]] und [[vba:​functions:​print_r:​index|print_r()]]. Mit diesen Zwei in Kombination lässt sich einfach im Direktfenster die Resultate eines RegExp testen. Um reguläre Ausdrücke zu erstellen, muss ich immer diverse Proberunden machen, bis sie wirklich das ausgeben, was ich haben will. Dazu verwende ich meine 2 Funktionen [[vba:​cast:​cregexp|cRegExp()]] und [[vba:​functions:​print_r:​index|print_r()]]. Mit diesen Zwei in Kombination lässt sich einfach im Direktfenster die Resultate eines RegExp testen.
Line 6: Line 6:
 [[vba:​cast:​cregexp|cRegExp()]] akzeptiert analog zu PHP Patterns inklusive Modifiers. [[vba:​cast:​cregexp|cRegExp()]] akzeptiert analog zu PHP Patterns inklusive Modifiers.
  
 +> Neu. Seit print_r() Version 2.10.0 sind beide Funktion in der Methode [[vba:​functions:​print_r:​index#​drx|dRx()]] zusammengefasst.
  
-===== Aus der Doku von cRegExp() ===== +===== Patterns bei cRegExp() ===== 
-Nochmals kurz als Erinnerungdas Setting+Zum Einen muss man natürlich die Regulären Ausdrücke von VBA kennen. Die Seite die mir dabei immer wieder hilftist die offizielle Seite von Microsoft [[https://​msdn.microsoft.com/​en-us/​library/​1400241x%28v=vs.84%29.aspx|Regular Expression Syntax (Scripting) ff.]] 
 + 
 +Zum Anderen natürlich, dass man die Ausdrücke inklusive der Modifiers im Pattern unterbringen kann.
 <WRAP box> <WRAP box>
 ==== Pattern inkl. Modifiers ==== ==== Pattern inkl. Modifiers ====
Line 31: Line 34:
 <code vb>'​Der Pattern ^([^\d]*[\.a-z])\s*(.*) mit dem Modifier IgnoreCase <code vb>'​Der Pattern ^([^\d]*[\.a-z])\s*(.*) mit dem Modifier IgnoreCase
 print_r cregexp("/​^([^\d]*[\.a-z])\s*(.*)/​i"​).execute("​Haupt-Str. 11a") print_r cregexp("/​^([^\d]*[\.a-z])\s*(.*)/​i"​).execute("​Haupt-Str. 11a")
 +<​IMatchCollection2> ​ (
 +    [0] => <​IMatch2> ​ (
 +        [Match] => <​String>​ '​Haupt-Str. 11a'
 +        [FirstIndex] => <​Long>​ 0
 +        [SubMatches] => <​ISubMatches> ​ (
 +            [0] => <​String>​ '​Haupt-Str.'​
 +            [1] => <​String>​ '​11a'​
 +        )
 +    )
 +)
 +
 +'Mit dRx()
 +dRx "/​^([^\d]*[\.a-z])\s*(.*)/​i",​ "​Haupt-Str. 11a"
 <​IMatchCollection2> ​ ( <​IMatchCollection2> ​ (
     [0] => <​IMatch2> ​ (     [0] => <​IMatch2> ​ (
vba/tutorials/regexptest.1448960846.txt.gz · Last modified: 01.12.2015 10:07:26 by yaslaw