Kann jemand bestimmte Wörter zwischen ()
ersetzen? Ersetzen Sie zum Beispiel das Wort and
durch or
zwischen beiden Klammern:
(Note = 'C' und Note = 'D' und Note = 'E') und (int_rate & gt; = 10 und int_rate & lt; = 20) und pub_rec & gt; = 0 und Begriff = '36 Monate'
Das wäre:
(Note = 'C' oder Note = 'D' oder Note = 'E') und (int_rate & gt; = 10 oder int_rate & lt; = 20) und pub_rec & gt; = 0 und Begriff = '36 Monate'
Ich dachte noch ein bisschen darüber nach und kam zu dieser Lösung:
%Vor%Im Grunde, Inhalt in mehreren Zeilen mit Trennzeichen als Klammer aufteilen, verwenden Sie sed auf allen Zeilen mit Klammern, um alle ands in ors umzuwandeln, und dann alle in eine einzelne Zeile zurückzubringen.
Ich kenne Sed nicht, aber hier ist ein Regexp, der nur and
zusammenfasst, gefolgt von einem )
:
Ersetzen Sie die Übereinstimmungen einfach durch or
, genau wie diese Demo .
Seitennotiz: Dies überprüft nicht die Syntax der Eingabe, d. h. die Anzahl der Klammern, etc. Wenn Sie dies beabsichtigen, könnten einige existierende Parser Ihren Anforderungen entsprechen.