![]() |
[PCRE] Hilfe bei RegEx
Hi,
ich nutze den Delphi Wrapper der PCRE.dll und hab damit ein kleines Problem. Ich möchte aus diesem hier:
Code:
das hier machen:
[b]Hi!,
das ist ein Test[/b]. Jaja, red du nur ;D
Code:
Bis jetzt sieht das ganze so aus:
[b]Hi!,
das ist ein Test[/b]. Jaja, red du nur ;D
Delphi-Quellcode:
Wenn der Text einzeilig ist, klappt das, beim mehrzeiligen jedoch nicht.
var
BEx: IRegEx; implementation { TConverter } class function TConverter.ConvertBBtoHTML(BBText: String): String; begin Result := BEx.Replace(BBText, '[b]$1[/b]'); end; initialization BEx := RegExCreate('\[b\](.*?)\[/b\]', [rcoIgnoreCase]); |
Re: [PCRE] Hilfe bei RegEx
Das liegt daran, dass normalerweise der Punkt für quasi alles steht - aber eben nur quasi ;)
Insbesondere deckt er keine Zeilenumbrüche mit ab. Du kannst versuchen, das Suchmuster anzupassen im Sinne von [.\n] also alle Zeichen und Zeilenumbrüche oder mit den Flags rumspielen. Im letzten Fall sollten MULTI-/SINGLELINE (m bzw. s) von interesse sein ;) |
Re: [PCRE] Hilfe bei RegEx
Hi,
ein einfügen von rcoSingleLine half. |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Delphi-Frage |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:56 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