自從現在一小時以來,我一直在努力應對正則表達式。所以,下面這是我想解析的文本。Java正則表達式組內的組
AddAgenda("Gangster's agenda",
{
TEAM_HITMAN,
TEAM_POLICE
},
{
TEAM_GANG,
TEAM_MAFIA,
TEAM_GANGSTER
})
我想捕捉議程名,每隊從每對大括號INDIVUDUALLY。有一點要知道的是,我不知道這些配對中的每一個都有多少隊伍。
基本上,我想這樣的:
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
但我只想到了這一點:
AddAgenda\(\"([^"]+)\",\s*\{(\s*([\w_]+,))*
將會產生這樣的:
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,
只寫一個_parser_讀取每件輸入並提取想要的值。你嘗試過什麼嗎? –
我從來沒有理解過使用正則表達式來處理這種事情的魅力。只需編寫想要解析文本的代碼即可。爲什麼使它變得不必要的複雜和難以辨認? – nhouser9
@ nhouser9我認爲問題在於人們發現了正則表達式,然後假設它是處理文本的唯一工具。你知道,[一切看起來像釘子](https://en.m.wikipedia.org/wiki/Law_of_the_instrument)。 –