Пример #1
0
        public static Pattern Parse(Fields fields)
        {
            var express = (fields.ContainsKey("express") ? fields["express"] : "")
                          .Replace("(非)", "[与](非)");

            var unit = fields.ContainsKey("unit") ? fields["unit"] : "";

            if (string.IsNullOrEmpty(express))
            {
                return(null);
            }

            var pattern   = new Pattern();
            var expresses = express.Split(new string[] { "[与]" }, StringSplitOptions.RemoveEmptyEntries);

            foreach (string item in expresses)
            {
                var subpattern = new Pattern();
                var subfields  = fields;

                fields["express"] = item.TrunLogic();

                subpattern.FillRules(subfields);
                pattern.Patternes.Add(subpattern);
            }

            return(pattern);
        }