自从现在一小时以来,我一直在努力应对正则表达式。所以,下面这是我想解析的文本。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)。 –