本文整理汇总了C#中IParser.TextMatches方法的典型用法代码示例。如果您正苦于以下问题:C# IParser.TextMatches方法的具体用法?C# IParser.TextMatches怎么用?C# IParser.TextMatches使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IParser
的用法示例。
在下文中一共展示了IParser.TextMatches方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ParseElements
public static void ParseElements(TransformationData data, EMDocument doc, EMElement parent, List<TextFragment> fragments, IParser parser, Action<EMElement> elementEmitter)
{
var newFragments = new List<TextFragment>();
foreach (var fragment in fragments)
{
var origins = new List<ITextFragment>();
try
{
foreach (var match in parser.TextMatches(fragment.Text))
{
var elementOrigin = new EMElementOrigin(fragment.Start + match.Index, match.Text);
try
{
elementEmitter(parser.Create(match, doc, elementOrigin, parent, data));
origins.Add(elementOrigin);
}
catch (EMSkipParsingException)
{
}
}
newFragments.AddRange(SplitFragment(fragment, origins));
}
catch (EMParsingErrorException e)
{
data.ErrorList.Add(new ErrorDetail(e.Message, MessageClass.Error, "", "", e.Line, e.Column, e.Path != data.Document.LocalPath ? e.Path : null));
}
}
fragments.Clear();
fragments.AddRange(newFragments);
}