The reason you can use \d\. et cetera as-is is that nobody will reach your server in the first place unless they're using your current IP address. Well, maybe if you're in Unsecured Proxy territory, but for that you need someone who speaks Apache. Generally if it's a number, it has to be your own number.
The universal RegEx locutions are
\d = any digit 0-9, so same as [0-9]
\s = any space, which in Apache should only mean ordinary " " spaces
\w = "word character", meaning alphanumerics plus _ (lowline)
but not hyphen
Many RegEx dialects support other formulations. But there's no simple way of saying [A-Za-z] in Apache. My text editor says \p{Alpha} but every dialect uses a slightly different form. I can also say things like \p{Greek} or \p{CanadianAboriginal} which are useful in text editing but generally not needed in Apache. If you had, say, URLs in Arabic, you'd need grouping brackets instead.
When I started working with Regular Expressions a bit over 9 years ago, I was deathly afraid of them. This is the natural and proper way to feel; you can seriously injure yourself with a carelessly applied RegEx. It took me about a year to even progress from text searching to active replacing. And that's in text editing, where you can always find the backup and start over again.
Edit: (Hmm, 2:16, I think I'm just squeaking under the wire.) Didn't I just get through saying that \w in practice means " " in Apache? I just met a robot in yesterday's logs who requested
/ebooks/paston/paston2.html%0D%0A
thus playing havoc with my log-wrangling functions. I looked it up to confirm that 0D and 0A are CRLF, alias \r\n, aka a Windows line break. Grr. And meanwhile there's a parallel thread about requests with appended garbage after ".html" ...