什么是正则表达式将在我匹配后添加一些字符。值

时间:2015-11-20 01:47:28

标签: c# regex wpf linq

我在linq表达式中有一个代码,问题是如果我使用match.Value,它只是打印匹配字符,我想要的是打印匹配字符后加上30个字符。 你可以在评论标签中看到我的一些方法,因为我的条件在哪里,所以没有打印出来!regexis.match

foreach (var errorModel in from Match match in Regex.Matches(line, @"<(?!/)[^<]*?>\s+")
                                       where !Regex.IsMatch(line, @"<.+?/>")
                                       select new ErrorModel
                                       {
                                           LineNumber = lineno[0],
                                           ErrorMessage = "Check space after opening tag.",
                                           Text = match.Value
                                           //Text = Regex.Match(line, @"\D{10,30}<(?!/)[^<]*?>\s+").Value
                                       })
            {
                ErrorList.Add(errorModel);
            }

2 个答案:

答案 0 :(得分:0)

可以完成文本检索:

freakExtractor = cv2.xfeatures2d.FREAK_create()
keypoints,descriptors= freakExtractor.compute(image,keypoints)

您需要查看原始行,因为您不能(轻松)重叠匹配。

哪里条件可疑。你真的想跳过包含结束标记的所有行吗?

答案 1 :(得分:0)

那个正则表达式怎么样:

<[^<>/]*>\s+.{0,30}

它会将您的标记与任何空格和最多30个其他字符进行匹配。不需要where !Regex.IsMatch(line, @"<.+?/>")