AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Regulärer Ausdruck zum erkennen von <Files *>
Thema durchsuchen
Ansicht
Themen-Optionen

Regulärer Ausdruck zum erkennen von <Files *>

Ein Thema von faux · begonnen am 17. Apr 2006 · letzter Beitrag vom 17. Apr 2006
Antwort Antwort
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#1

Regulärer Ausdruck zum erkennen von <Files *>

  Alt 17. Apr 2006, 11:01
Hallo!

Ich bin gerade dabei ein Syntaxhighlightschema für htaccess-Dateien für GeSHi zu basteln.
Klappt auch alles ganz gut und bin schon fast fertig. Jedes Attribut und Schlüsselwort wird erkannt und auch gehighlighted.
Jedeoch habe ich Probleme mit den htaccess-Bereichen <Files> und <FilesMatch>. Diese muss ich per RegEx ausfündig machen, so dass ich sie highlighten kann. Folgendes ist möglich:
Code:
<Files>

<Files datei.ext>
  einträge
</Files>

<Files ~ "\.(ext1|ext?)$">
Ich muss jetzt einen RegEx-Ausdruck basteln, der das einleitende Wort <Files> erkennt, auch wenn zwischen dem s und > etwas steht. Ich weiß: Anfängerbeispiel, ich bin aber einfach zu dumm dazu...
Frage 1: Wie kann ich <Files überhaupt in den regulären Ausdruck bringen?
Mein Versuch:
Code:
(<Files){1}[ ]{1}.*(>){1}
Mit (<Files){1} wollte ich überprüfen, ob diese Zeichenkette genau einmal vorkommt, was jedoch nicht funktioniert.

Liegts an dem < ? Denn ich hätte sonst alles aus der PHP-Doku.

Mein nächster Versuch wäre dann
Code:
(\<Files)[\s]+.*(\>)
Was jedoch auch nicht geht...

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: Regulärer Ausdruck zum erkennen von <Files *>

  Alt 17. Apr 2006, 11:08
Also nach PCRE würde ich sagen:
Code:
#<Files( .*)?>#
(ohne Garantie natürlich ...)
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Regulärer Ausdruck zum erkennen von <Files *>

  Alt 17. Apr 2006, 11:09
Hallo!

Deine Methode geht leider auch nur, wenn man < und > weglässt.
Wenn ich die < und > weglasse, geht meine Methode auch. Escapen hilft auch nicht.


So gehts:
Code:
(&lt;Files)[\s]+.*(&gt;)
Danke!

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

Re: Regulärer Ausdruck zum erkennen von <Files *>

  Alt 17. Apr 2006, 11:20
Zitat von faux:
Hallo!

Deine Methode geht leider auch nur, wenn man < und > weglässt.


Das:
Code:
$regex = '#<Files( .+)?>#';

$dummy = '<?\'';

echo preg_match ($regex, '<Files>') . '
';

echo preg_match ($regex, '<Files datei.ext>') . '
';

echo preg_match ($regex, '<Files ~ "\.(ext1|ext?)$">') . '
';

echo preg_match ($regex, '<Filesdatei.ext>') . '
';

echo preg_match ($regex, '<Files >') . '
';
Gibtz folgendes aus:
Code:
1
1
1
0
0
Also geht ... oder nicht ?

(Ausdruck leicht verändert, aber sonst ?)
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Regulärer Ausdruck zum erkennen von <Files *>

  Alt 17. Apr 2006, 11:24
Es liegt nicht am regulären Ausdruck, sondern am GeSHi.
Sorry.

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz