重新设计了各个构造函数,准备加入正则宏和匹配选项