我的目标是编写自己的编程语言,我认为正则表达式会更好用于此目的。我的问题是定义if语句不起作用:(\s|^)if\s*\((.*?)\)\s*then\s+do\s+(.*?)\s+end\n+((elif\s*\((.*?)\)\s*then\s+do\s+(.*?)\s+end\n+|else\s+then\s+do\s+(.*?)\s+end\n+)*)
我的语言:
if (condition1) then do
aagahd;
end
elif (condition2) then do
dhriebf
end
elif (condition3) then do
fhdiebjdhd
end
else then do
vahfhf
end
所以我想搜索“零或更多elif OR零或其他”
而且,如果我有一个以上的elif,正则表达式只能从最后一个elif获得条件。我做错了什么? (我正在研究Java)