Advanced Renaming Help Needed

I am looking for some help in a renaming script. I am new to all of this, and Regular Expression are confusing to me. Can someone help me to do renaming of a bunch of folders?

Here is what I am trying to do.

I have a group of folders corresponding to classes that are named in this format (with no actual brackets in the name):
[name of academic quarter] - [name of class] - [name of teacher]

There are multiple words in each "segment" (marked off by brackets above). I want to switch the segments around so the folders are named:
[name of class] - [name of academic quarter] - [name of teacher]

How can I do that?

Old name: (.) - (.) - (.*)
New name: \2 - \1 - \3
Type: Regular Expressions

Thank you!

OK. One more question. If I want to do the above renaming, but I also have to do the additional step of reversing two words in one segment, how do I do that? In other words how do I do a regular expression change to get from:

Economics - Winter 2014 - Smith


Economics - 2014 Winter - Smith

(.) (.) - (.) - (.)
\3 - \2 \1 - \4

Will do both at once, taking you from:

Winter 2014 - Economics - Smith


Economics - 2014 Winter - Smith