Hi The Frog,
Greetings.
I tried building it from back side (RtoL). and got it in 15 mins
I have a .Net based Editor, hence its working on .Net.. I guess you may need it to tune it a bit.
Please use ? on the group you feel like optional. I have just used optional for Level 1.
Please note the style (?:,| ) I used to capture , and in two fields. this has actually made it easy.
Also, please note, if you use "Named Capture" instead of simple "number capture", things get quite easy, as compared to.
(?<lev1>(?:[\w]+[ ]*){1,})?(?:,| )*(?<streat>(?:[\w]+[ ]*){1,})(?:,| )+(?<suburb>(?:[\w]+[ ]*){1,})(?<state>VIC|SA|WA|TAS|NSW|ACT|QLD|NT)(?:,| )+(?<post>\d*)
Prashant