![]() |
regulärer Ausdruck: Anführungszeichen finden
Moin,
ich bin auf der Suche nach einem regulären Ausdruck, der Anführungszeichen findet, aber mit \ escapte Anführungszeichen auslässt. Ich habe mir das so gebastelt:
Code:
habe aber nun das Problem, dass ich - wenn das Anführungszeichen nicht am Zeilenanfang steht - ich nicht nur das Anführungszeichen, sondern auch das Zeichen davor bekomme. Ich möchte aber wirklich nur das Anführungszeichen erhalten. Wer kann mir da helfen?
[^\\]("|')|^("|')
Gruß Malte PS: Das ganze brauche ich für einen TSynMultiSyn aus dem Synedit-Projekt. |
Re: regulärer Ausdruck: Anführungszeichen finden
Hi Stz.
Da gibts was, das nennt sich Lookahead... ![]()
Code:
[b][size=18](?!\\)[/size][/b]("|')|^("|')
|
Re: regulärer Ausdruck: Anführungszeichen finden
Hi,
vielen Dank, ich glaube, sowas habe ich gesucht. Leider bekomme ich folgende Fehlermeldung mit deinem Code:
Code:
Wie gesagt, ich mach das mit SynEdit.
---------------------------
Unbenannt - MEdit --------------------------- TRegExpr(comp): Urecognized Modifier (pos 5) --------------------------- OK --------------------------- Gruß Malte |
Re: regulärer Ausdruck: Anführungszeichen finden
TRegExpr beherrscht keine Lookaheads? Das ist ja wirklich schlecht :gruebel: .
Der Lookahead ist aber sowieso falsch, hier wird ein Lookbehind benötigt:
Code:
Aber wenn TRegExpr keine Lookaheads unterstützt, sieht es für Lookbehinds wohl auch schlecht aus ;) .
(?<!\\)"|'
Ein Workaround:
Code:
(^|[^\\])('|")
|
Re: regulärer Ausdruck: Anführungszeichen finden
Zitat:
Zitat:
Gruß Malte |
Re: regulärer Ausdruck: Anführungszeichen finden
Code:
Vielleicht kann er das ja... :wink:
(?:^|[^\\])('|")
|
Re: regulärer Ausdruck: Anführungszeichen finden
Zitat:
Code:
langsam habe ich das Gefühl, TRegExpr ist nicht besonders up to date :(
---------------------------
Unbenannt - MEdit --------------------------- TRegExpr(comp): Urecognized Modifier (pos 10) --------------------------- OK --------------------------- andere Frage: Was ist das, was du mir da gepostet hast? Ich habe mich heute morgen ein wenig in REs reingelesen, aber sowas kam nicht vor... Gruß Malte |
Re: regulärer Ausdruck: Anführungszeichen finden
Bei PERL-kompatiblen Regulären Ausdrücken drückt (?: ) eine Klammer aus, die nicht mit zurückgegeben wird. :wink:
|
Re: regulärer Ausdruck: Anführungszeichen finden
Zitat:
Ich nehme an, du musst den Regex als Property des SynEdits angeben und kannst somit keinen eigenen Code noch mit hineinschmuggeln? Wenn ja, sollte es doch zumindest eine weitere Property geben, bei der du die Capture Group, die ausgewertet werden soll, einstellen kannst. [add] @S2B: Es wird keine Capture Group erzeugt, das Ergebnis sollte aber das gleiche bleiben. [/add] |
Re: regulärer Ausdruck: Anführungszeichen finden
Zitat:
Zitat:
Zitat:
Danke und Gruß Malte |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:00 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