正则表达式在处理和匹配字符串中用处颇大。在此转载一篇有关正则表达式用法的博文,并通过实际的报表模块说明正则表达式的用法。

 在实际的项目中,用到正则表达式的地方也是不少。现在拿Excel模板中的标签解析机制做说明。

 private List<string> GetDataSourceLabelByType(Sheet sheet, string sourcetype)
        {
            List<string> list = new List<string>();
            System.Collections.IEnumerator rows = sheet.GetRowEnumerator();
            while (rows.MoveNext())
            {
                Row row = (Row)rows.Current;
                System.Collections.IEnumerator cells = row.GetCellEnumerator();
                while (cells.MoveNext())
                {
                    Cell cell = (Cell)cells.Current;
                    if (cell == null || cell.CellType != CellType.STRING || cell.StringCellValue == null)
                    {
                        continue;
                    }
                    string cellvalue = cell.StringCellValue;
                    //获取所有标签
                    MatchCollection mc = Regex.Matches(cellvalue, @"<[^>]+\*>");
                    if (mc.Count > 0)
                    {
                        foreach (Match match in mc)
                        {
                            string tag = match.Value.ToUpper();
                            object tagvalue = "";

                            if (tag.StartsWith(sourcetype))
                            {
                                list.Add(cellvalue);
                            }
                        }
                    }
                }
            }
            return list;
        }

 

posted on 2011-01-07 15:45  guopeihui  阅读(167)  评论(0编辑  收藏  举报