If you have no idea what I am talking about, you are lucky. If you do know about regular expressions, then I know you hate them too. But not as much as me, because I am sure that you have never had to document them before. I am not saying that regular expressions aren't important or useful. The syntax of them just sucks beyond words. And like anything else, bad design makes my job a million times harder.
Ugh! What is with using the same characters to mean different things depending on where they are in the expression? For example, the quanitfier '??' means match zero or one times (the first question mark) and use the reluctant algorithm (the second question mark). Makes perfect sense huh? And then there is the caret (^). '^Lauren' means to match a string that starts with Lauren. But put this in brackets, [^Lauren], and suddenly the caret now means the complement of Lauren. Whatever.
And don't get that use of the caret confused with '\P'. You use that when you want the opposite of a property or block range (as opposed to '\p'). And I still can't figure out when you can use a dash without needing to escape it. And I just got told that I have to deal with back references, which I am still trying to figure out how to use.
Plus this whole ordeal has made me realize how stupid the DITA tagging is, especially when you are trying to reuse tables in HTML . I know using a tags named row and entry looks nicer than just tr and td, but totally not necessary since 99% of the time, you are going to just convert them right back to HTML tags. But that is a whole other rant.