I think 4.2 only uses POSIX regex. You might be able to "man regex" (or web search that phrase) to see the documentation. The developer/unstable branch (4.3) uses pcre (if available) which is probably the regex with which you are more familiar since it allows a much more advanced syntax.
As you infer, the regexp is applied separately to title, sub-title, and description and cannot operate across a combination of all three fields. The regex is an "unanchored" search, so you don't need ".*" at the start. "Tatort" will match anywhere on the line, so it will match "ABC Tatort DEF" or even "ABCTatortDEF" (mid-word).
Regular expressions tend to be "line based" (not "multi-line based"), so even searching across a multi-line description won't work for you. Unfortunately, combining the title/sub-title, and description inside the code would cause either memory usage to increase (since we would need to keep the originals for sending to clients and also keep the combined string), or a slowdown (if we re-generated the string for every EPG event every time we do a match), so it hasn't been implemented.
Two separate rules would apply their own duplicate matching policy. So, if you have "unique description" for both rules then each recording rule applies the duplicate policy and only one would be scheduled to record even if they both matched an EPG event.
BTW: I liked your article on IPTV and ffmpeg. I don't know if you'd be interested in adding a few notes/screenshots to the wiki in case your blog disappears?