Java Pattern Matcher – optionale ErfassungsgruppeJava

Java-Forum
Anonymous
 Java Pattern Matcher – optionale Erfassungsgruppe

Post by Anonymous »

Ich möchte einige Eingabeabfragen auf drei mögliche Arten verarbeiten:

Code: Select all

query: select * from People
query: select * from People exclude addresses
query: select * from People include department
Ich habe eine Regex-Abfrage[:\/]?(.*)((exclude|include)(.*))?, die allen drei Szenarien PASST, aber ich verliere die Gruppen (2) wie: Adressen ausschließen, Abteilungen einschließen, aber ich muss zusätzliche Teilzeichenfolgenoperationen verwenden, um diese Informationen aus der ursprünglichen Zeichenfolge zu extrahieren.
Mit query[:\/]?(.*)((exclude|include)(.*)) (kein Fragezeichen am Ende)
Ich erhalte:
  • Gruppe 1 – NUR Abfrage
  • Gruppe 2 (Ausschlüsse/Einschlüsse)
Aber es Erfasst keine Fälle, wenn ich nur die Abfrageeingabe erhalte.
Wie aktualisiere ich die RegEx, die ich in allen drei Fällen über MATCH habe, mit optionalen übereinstimmenden Gruppen? d. h. groupCount == 3, ich habe Einschlüsse/Ausschlüsse, und groupCount == 2 gibt an, dass ich nur eine einfache Abfrage habe. Vielen Dank.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post