Ich habe seit einer Stunde mit Regex zu kämpfen. Also, direkt darunter ist mein Text, den ich analysieren möchte.Java Regex Gruppen in Gruppen
AddAgenda("Gangster's agenda",
{
TEAM_HITMAN,
TEAM_POLICE
},
{
TEAM_GANG,
TEAM_MAFIA,
TEAM_GANGSTER
})
Ich mag würde die Agenda Namen erfassen, jedes Team INDIVUDUALLY von jedem Paar von geschweiften Klammern. Eine Sache zu wissen ist, dass ich nicht weiß, wie viele Teams es in jedem dieser Paare gibt.
Grundsätzlich möchte ich dies:
Group [1]:
Gangster's agenda
Group [2]:
Group [0]: TEAM_HITMAN
Group [1]: TEAM_POLICE
Group [3]:
Group [0]: TEAM_GANG
Group [1]: TEAM_MAFIA
Group [2]: TEAM_GANGSTER
Aber ich habe kam nur mit auf den Punkt:
AddAgenda\(\"([^"]+)\",\s*\{(\s*([\w_]+,))*
, welche diese erzeugt:
Group [0]:
[0]: AddAgenda("Gangster's agenda",
{
TEAM_MOB,
TEAM_POLICE,
Group [1]:
[0]: Gangster's agenda
Group [2]:
[0]:
TEAM_POLICE,
Group [3]:
[0]: TEAM_POLICE,
Nur eine _parser_ schreiben, die jedes Stück des Eingangs liest und extrahiert die gewünschten Werte. Hast du schon etwas probiert? –
Ich habe nie die Faszination verstanden, solche Dinge mit einer Regex zu tun. Schreiben Sie einfach den Code, mit dem Sie den Text analysieren möchten. Warum es unnötig kompliziert und unleserlich machen? – nhouser9
@ nhouser9 Ich denke, das Problem ist, dass Leute über Regex herausfinden, und dann davon ausgehen, dass es das einzige Werkzeug ist, um Text zu verarbeiten. Weißt du, [alles sieht wie ein Nagel aus] (https://en.m.wikipedia.org/wiki/Law_of_the_instrument). –