string str = FileUpload1.FileName;
 //判断上传文件名是否符合要求:"数据库_信计10501班_张三_05_02" 
//课程名(汉字或英文)_班级(汉字+数字+汉字)_姓名(汉字)_班内序号(数字)_交作业的次数(数字)
我是这么写的:
 protected void Button1_Click(object sender, EventArgs e)
        {
            string sno = Session["Username"].ToString();
            string str = FileUpload1.FileName;
            //判断上传文件名是否符合要求:"数据库_信计10501班_樊瑞_05_02" /^\S\_\S\_\S\_\[0-9]*\_\[0-9]*\.\[A-Za-z]$
            if (CheckFileName(str))
            {
            //判断文件名是否正确
            BLL.Work.Student.S_upfile BWSS = new BLL.Work.Student.S_upfile();
            bool FileCheck = BWSS.UpFileName(str, sno, DropDownList1.SelectedValue);
            if (FileCheck)
            {
                string[] FileNameInformation = BWSS.GFileInformation(str);
                //判断是否允许提交作业,时间限制和批改完成限制
                BLL.Work.Student.UpfileSql BWSU = new BLL.Work.Student.UpfileSql();
                bool Checked = BWSU.CheckUp(FileCheck, FileNameInformation[4].ToString(), FileNameInformation[0].ToString(), FileNameInformation[2].ToString());
                if (Checked)
                {
                    //上传文件,保存路径 S_Control/s_upfil/课程名/班级名/学生/学生作业
                    string path = Server.MapPath("~\\S_Control\\s_upfile\\" + FileNameInformation[0].ToString() + "\\" + FileNameInformation[1].ToString() +"\\" + FileNameInformation[2].ToString()+"\\"+str);
                    FileUpload1.SaveAs(path);
                }
             }
            }
        }
        private bool CheckFileName(string strIn)
        {
           return Regex.ReferenceEquals(strIn,@"/^\S\_\S\_\S\_\[0-9]*\_\[0-9]*\.\[A-Za-z]$");        }
命名空间我添加了