2016-06-22 6 views
0

zu identifizieren Ich versuche, das Muster zu identifizieren, um den Start der Orakel WIT-Klauseldefinition zu identifizieren. Bisher habe ich das folgende Muster, aber es scheitert. Kann jemand auf das Problem hinweisen?Regex-Muster (Java), um den Start von Oracle mit Klausel

(MIT | mit) (\ s) + [_ a-zA-Z] [_ a-zA-Z0-9] (\ s) + (AS | as)

Testfälle:

  1. mIT dept_count AS
  2. mIT FD_DFDF_DF AS
  3. mit deddd23 AS
  4. mIT FD_DFDF_DF als
+2

Verwenden Sie keine regulären Ausdrücke als Parser. Verwenden Sie Parser als Parser. – EJP

Antwort

1

Sie benötigen Wiederholung der zweiten alphanumerischen Gruppe und entfernen Sie das Leerzeichen:

(WITH|with)(\s)+[_a-zA-Z][_a-zA-Z0-9]*(\s)+(AS|as) 

Test-it: https://regex101.com/r/jZ9gM5/1

+0

Danke, habe diesen dummen Fehler nicht gesehen. – kuz

1

try (MIT | mit) (\ s) + [_ a-zA-Z0-9] + (\ s) + (AS | as)

+0

Da Bezeichner nicht mit Zahlen beginnen können, kann dies nicht verwendet werden, ich hätte trotzdem einen Testfall hinzufügen müssen, danke – kuz