我的疑问都在代码里了(还有多彩生活的标签)

# 这是个完整的例子,疑问如下
import re
 
phone = "2004-959-559 # 这是一个电话号码"
 
# 删除注释
num = re.sub(r'#.*$', "", phone)   # 在sub的第一个参数中#.*$分别表示什么?
# 我目前掌握的是#代表它本身,.代表匹配所有,$代表字符串末尾
print ("电话号码 : ", num)
 
# 移除非数字的内容
num = re.sub(r'\D', "", phone)
print ("电话号码 : ", num)
. 匹配除“\r”\n”之外的任何单个字符
* 匹配前面的子表达式零次或多次。例如“zo*”能匹配“z” “zo”以及“zoo”
$ 匹配输入字符串的结束位置
"#.*$"  整个意思#号开头到字符串结尾之间的所有字符