Benutzereingabe Format:Pattern Matching - Regex
[fieldname1] Komparator [fieldvalue1, fieldvalue2, value3], [FieldName2] Komparator [fieldvalue1, Wert2, ..] ..
Notwendigkeit, diese in analysieren:
1. [fieldname1] Komparator [fieldvalue1, fieldva lue2, value3]
2. [FieldName2] Komparator [fieldvalue1, Wert2, ..] und so weiter
(ie) jedes Feld zusammen mit seinem Komparator und Wert getrennt werden. während Komparator wird irgendeine der unten:
< = |> = | = | is | < |> | startswith | Beginnt mit | Beginnt mit | Beginnt mit | Beendet mit | Endswith |
enthält
Regex von mir verwendet:
([.?() +] (\ S) (< = |> = | = | is | < | > | starts | Startet mit | Beginswith | Beginnt mit | kurz mit | EndsWith | enthält) (\ s) [() +.?] (\) *)
Beispiel: [firma] enthält [abc, efg], [email] enthält [cdf, test] oben wird ordnungsgemäß keine Probleme geparst.
Problem: Wenn Feldnamen oder Feldwert enthält Symbol "[" oder "]" das Parsen schief geht.
Beispiel: [Firma] enthält [ab [] c, efg], [E-Mail] enthält [siva, test]
Above gültig ist, aber da [] verwendet wird, als Begrenzer es Parsen stoppt bis [Unternehmen] enthält [ab [], aber ich es richtig, wie oben zum Beispiel analysieren möchten,
1. [Firma] enthält [ab [] c, efg]
2. [email] [siva enthält, Test]
Danke.
Welche Sprache/Werkzeug benutzen Sie? Ich bin mir nicht sicher, ob Sie die gewünschte Nummerierung mit pure regex erhalten können. –
Sprache ist JAVA – Naksh17