Making each successively embedded atom optional is similar to optional arguments in PHP function definitions (except for the regex, of course). With this approach, region is a requirement then, to have job_type, you must have an area and to have industry, you must have a job_type.
Now that I’ve gone through all that for you, I believe:
(.*) should be replaced by ([a-zA-Z]+) in each case (your keys don’t appear to contain digital values) and
this may not be what you’re after as you may need an industry but not a job_type, you may need a job_type but not a region, etc.
The problem with your optional key-value pairings is that YOU are in control of the links which get handled by this mod_rewrite so you need to “fill any nulls” with something like an _ (anything your directory.php script can handle and treat as a null value). If this is the case, add a _ after the Z (in comment #1) and you’ll be set.