Ich suche nach einer Zeichenfolge "Order By XXX", wobei XXX ein beliebiger Buchstabe, eine Zahl, ein Punkt, ein Komma, ein Leerzeichen oder eine eckige Klammer sein kann. Allerdings würde ich das nur dann angleichen wollen, wenn es nicht von Klammern umgeben ist (Klammern auf der einen Seite sind ok, solange es nicht auf beiden Seiten ist). Es sollte also der kursiv geschriebene Teil von "" sein, damit sollte nichts in
übereinstimmenSollte übereinstimmen (übereinstimmender Abschnitt in Kursivschrift):
Sollte nicht übereinstimmen:
Ich habe die Regex-Zeichenfolge für die Übereinstimmung der Reihenfolge mit dem Text: [ ]*order by [\w,.\[\] ]+
. Jedoch habe ich einige Probleme, den Lookahead / hinter der Arbeit richtig zu bekommen. Irgendwelche Ratschläge zum weiteren Vorgehen?
Versuchen Sie Folgendes:
%Vor%Beim Testen in PowerShell:
%Vor% Das funktioniert für mich, lass es mich wissen, wenn es andere Fälle gibt, die mir fehlen:
Regex r = new Regex(@"[^(](order by [^)]+)", RegexOptions.IgnoreCase);
Tags und Links c# regex lookbehind lookahead