python正则表达式问题

问题:
1.元字符的\b和^以及$它们的作用真是搞不懂,能举个例子吗?
2.里面的?是匹配前面字符零次或一次;+是匹配前面的字符一次或多次;*是匹配前面的字符零次或多次。它们的前面指的是左边还是右边,还有,它们的作用搞不懂,能详细举个例子吗?
注:一共有三个问题

^:匹配串开头
$:匹配结尾
+?*指的都是左边的单元
[\d]+:匹配数字
-?[\d]+:匹配数字,前面可以带有负号
-?[\d]+(.[\d]+)?:匹配数字,后面可以带小数
^$:匹配空串