AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi XE3 RegEx - Variablen im Fließtext finden, Kommentarzeilen ignorieren
Thema durchsuchen
Ansicht
Themen-Optionen

XE3 RegEx - Variablen im Fließtext finden, Kommentarzeilen ignorieren

Ein Thema von jensw_2000 · begonnen am 17. Mär 2013 · letzter Beitrag vom 18. Mär 2013
 
jensw_2000
(Gast)

n/a Beiträge
 
#1

XE3 RegEx - Variablen im Fließtext finden, Kommentarzeilen ignorieren

  Alt 17. Mär 2013, 14:21
Delphi-Version: XE2
Ich versuche gerade per RegEx alle Variablen in einem VB Script Template zu finden, die nicht in einer Kommentarzeile stehen.
Die Variablen haben immer das Format %%irgendwas%%.

Zusätzlich sollen alle Variablen von den Treffern ausgeschlossen werden, die mit %%ARRAY_ beginnen.

Das klappt schon mal weitestgehend gut mit folgendem Ausdruck:
Code:
(?!%%[Aa][Rr][Rr][Aa][Yy]_*)(%%[a-zA-Z][a-zA-Z]*[a-zA-Z0-9_]*%%)
Problem ist, dass ich es nicht schaffe die Variablen in den Kommentarzeilen zu ignorieren.
Kommentarzeilen beginnen mit ' (ggf. mit führenden Leerzeichen).


Zum Erkennen einer Kommentarzeile ist der Ausdruck ([\ ]*[']1*.*) schon mal ganz OK.
Irgendwie will die Vorab-Filterung via (?![\ ]*[']1*.*) nicht so wie ich ...


Mein VB Script Template sieht etwa so aus:

Code:
  Const ADS_GROUP_TYPE_SECURITY_ENABLED = &h80000000

'--------------------------------------------------------------------------------------------
' Globale Variablen deklarieren
'--------------------------------------------------------------------------------------------
  Dim fso, f, Zeile, Feld
  Dim SCRIPT_LANGUAGE
  'TEMPLATE_INSERT_BEGIN "%%SCRIPT_ATTRIBUTE_NAMES%%"
%%SCRIPT_ATTRIBUTE_NAMES%%
  'TEMPLATE_INSERT_END "%%SCRIPT_ATTRIBUTE_NAMES%%"
'--------------------------------------------------------------------------------------------
' ENDE Globale Variablen
'--------------------------------------------------------------------------------------------

'--------------------------------------------------------------------------------------------
' Variablen für GUI Definitionen deklarieren
'--------------------------------------------------------------------------------------------
  Dim objDomain                        ' .. das globale Domain-Object
  Dim objAdRoot                        ' .. das globale AD-Stammverzeichnis-Objekt
Spielprojekt hängt dran.

Kann mir jemand bei dem RexEx helfen?


Grüße
Jens



PS:
Der Ausdruck ([\s]*[']+.*)(?!%%[Aa][Rr][Rr][Aa][Yy]_*)(%%[a-zA-Z][a-zA-Z]*[a-zA-Z0-9_]*%%) "erkennt" genau die beiden Zeilen, in denen auskommentierte Variablen stehen.
Wenn ich den Lookahead negiere (?![\s]*[']+.*)(?!%%[Aa][Rr][Rr][Aa][Yy]_*)(%%[a-zA-Z][a-zA-Z]*[a-zA-Z0-9_]*%%) dann werden die auskommentierten Variablen aber wieder mit erkannt.
Mann, ist das kompliziert ...
Angehängte Dateien
Dateityp: zip test-app.zip (906,6 KB, 3x aufgerufen)

Geändert von jensw_2000 (17. Mär 2013 um 19:39 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz