AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Regulärer Ausdruck: Notepad++ -> Delphi

Regulärer Ausdruck: Notepad++ -> Delphi

Ein Thema von Notxor · begonnen am 1. Jan 2013 · letzter Beitrag vom 1. Jan 2013
Antwort Antwort
Notxor

Registriert seit: 28. Okt 2009
41 Beiträge
 
Delphi XE2 Professional
 
#1

Regulärer Ausdruck: Notepad++ -> Delphi

  Alt 1. Jan 2013, 18:19
Frohes neues Jahr allerseits!

Ich bin auf der Suche nach einem Regulären Ausdruck, der mir folgende Struktur aufteilen kann.
Die Aufteilung sollte so sein, dass min. 1 Zeile mit der Nummer im Block vorkommt (also beispielsweise immer der Text zwischen den Leerzeilen, dass dann eine Zeile mit der falschen Nummer dabei ist stört nicht)
Delphi-Quellcode:
Game #0001010010101 starts.
// empty
#Game No : 0001010010101
text
text
Game #9871010010101 starts.
// empty
#Game No : 9871010010101
text
keine leerzeile
text
noch mehr text
// empty
In Delphi verwende ich zZ. die TPerlRegEx, mit der Option [preSingleLine].

Zum Testen der RegExps verwende ich Notepad++, wobei mir der RegEx '(#Game No : \d+)(.+?)(^$)' ein korrektes Ergebnis liefert.
Verwende ich diesen jedoch in Delphi, liefert er keinen Treffer.
Welche Eigenschaften der TPerlRegEx müsste man setzen, damit es auch in Delphi funktioniert?

'(Game #\d+ starts\.)(.+?)(?=Game #\d+ starts\.)' funktioniert in Delphi, findet aber (klarerweise) den letzten Eintrag nicht.

Wäre dankbar für Vorschläge welche Optionen ich setzten müsste, oder auch für einen alternativen RegEx.

Vielen Dank!
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#2

AW: Regulärer Ausdruck: Notepad++ -> Delphi

  Alt 1. Jan 2013, 19:54
Frohes nNeues!

Auf dem ersten Blick würde ich sagen, dass die Option preMultiLine fehlt.

Delphi-Quellcode:
//...
  preMultiLine, // /m -> ^ and $ also match before/after a newline, not just at the beginning and the end of the string
// ...
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.

Geändert von BUG ( 1. Jan 2013 um 20:02 Uhr)
  Mit Zitat antworten Zitat
Notxor

Registriert seit: 28. Okt 2009
41 Beiträge
 
Delphi XE2 Professional
 
#3

AW: Regulärer Ausdruck: Notepad++ -> Delphi

  Alt 1. Jan 2013, 21:05
preMultiLine hatte ich auch schon probiert.
Dabei wird dann entweder alles oder nur die erste Zeile gefunden (je nachdem ob [preUnGreedy] gesetzt ist oder nicht)
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#4

AW: Regulärer Ausdruck: Notepad++ -> Delphi

  Alt 1. Jan 2013, 21:18
Dabei wird dann entweder alles oder nur die erste Zeile gefunden (je nachdem ob [preUnGreedy] gesetzt ist oder nicht)
Mhm, das macht Sinn

Wie funktioniert es mit [preSingleLine] und
Code:
(Game #\d+ starts\.)(.+?)($|(?=Game #\d+ starts\.))
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Notxor

Registriert seit: 28. Okt 2009
41 Beiträge
 
Delphi XE2 Professional
 
#5

AW: Regulärer Ausdruck: Notepad++ -> Delphi

  Alt 1. Jan 2013, 21:34
Ja funktioniert, vielen Dank!
So etwas in der Richtung hatte ich schon probiert, allerdings in Notepad++.
Interessanterweise funktioniert dieser RegEx da nicht, da wird immer nur die erste Zeile gefunden...
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 10:33 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