`

match regex

 
阅读更多
MyWord
       private void btnSearch_Click(object sender, EventArgs e)
        {
            // 清楚文档中的高亮显示
            ClearMark();

            lvSearchResult.Items.Clear();
            if (string.IsNullOrWhiteSpace(tbSearchText.Text))
            {
                return;
            }

            // 按段落检索
            Word.Document currentDocument = Globals.ThisAddIn.Application.ActiveDocument;
            if (currentDocument.Paragraphs != null &&
                currentDocument.Paragraphs.Count != 0)
            {
                foreach (Word.Paragraph paragraph in currentDocument.Paragraphs)
                {
                    MatchCollection mc = Regex.Matches(paragraph.Range.Text, tbSearchText.Text.Trim(), RegexOptions.IgnoreCase);
                    if (mc.Count > 0)
                    {
                        foreach (Match m in mc)
                        {
                            try
                            {
                                int startIndex = paragraph.Range.Start + m.Index;
                                int endIndex = paragraph.Range.Start + m.Index + m.Length;

                                Word.Range keywordRange = currentDocument.Range(startIndex, endIndex);
                                
                                // 获取上下文信息
                                // 获取前两个单词的位置(如果有)
                                startIndex = GetStartPositionForView(paragraph, m, startIndex);

                                // 获取后两个单词的位置(如果有)
                                endIndex = GetEndPositionForView(paragraph, m, endIndex);

                                // 在ListView中展示检索的关键字以及其上下文
                                Word.Range range = currentDocument.Range(startIndex, endIndex);
                                ListViewItem item = new ListViewItem(range.Text);
                                item.Tag = keywordRange;
                                lvSearchResult.Items.Add(item);
                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show(ex.Message);
                            }
                        }
                    }
                }
            }
        }

分享到:
评论

相关推荐

    regex match tracer

    **正则表达式调试工具——Regex Match Tracer详解** 在编程和数据分析中,正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它能够高效地进行字符串匹配、查找、替换等操作。然而,由于其...

    Regex Match Tracer 正则表达式 测试工具

    Regex Match Tracer是一款强大的正则表达式测试工具,专为开发者和数据处理人员设计,用于调试和验证正则表达式的正确性。它提供了一个直观的界面,帮助用户理解正则表达式的匹配过程,从而提高工作效率。 正则...

    Regex Match Tracer(很好的正则表达式测试工具)

    Regex Match Tracer v2.1 破解版

    正则表达式工具Regex Match Tracer

    测试正则表达式是否写对的工具,很好用,特别适合新手

    JaswqvaScript 公共类

    var match url match regex ; if typeof match "undefined" && null match { host match[1]; } return host; }"> 1 原生JavaScript实现字符串长度截取 function cutstr str len { var temp;...

    正则表达式工具 regex match tracer

    Regex Match Tracer 是一个专为正则表达式设计的验证工具,它帮助开发者和用户更直观地理解正则表达式的匹配过程,确保正确地编写和调试正则表达式。 正则表达式的基本概念: 1. **字符集**:包括基本的字母、数字...

    Regex Match Tracer 2.0 破解

    Regex Match Tracer 2.0.exe

    Regex Match Tracer 2.1中文破解(含正则教程)

    看到本站下本软件要5分,所以上传!内含含正则教程,用MTracer 2.1.msi安装后将"将该目录文件考到安装目录"并输入内含的注册码

    Regex Match Tracer 2.1 正则表达式软件

    正则表达式工具 Match Tracer 是一款用来编写和测试正则表达式的工具软件。 本软件通过可视化的界面,可以协助你快速、正确地写出复杂的正则表达式。 主要功能: 根据正则表达式语法,彩色显示表达式,使表达式...

    Regex+Match+Actor

    标题“Regex+Match+Actor”和描述中的关键词“正则表达工具”、“包含多种匹配方式”、“可分组匹配”揭示了这个软件是关于正则表达式(Regular Expression)的,它提供了一种强大而灵活的方式来处理文本字符串,...

    正则表达式工具 Regex Match Tracer 2.0

    Regex Match Tracer 2.0 是一个专为正则表达式爱好者和开发者设计的工具,它能帮助用户更好地理解和调试正则表达式。 该工具的主要功能包括: 1. **实时匹配**:在输入正则表达式和测试文本后,Regex Match Tracer...

    Text.Regex.Lazy-开源

    1. **匹配函数**:如`matchRegex`和`matchRegexAll`,分别用于获取第一个匹配项和所有匹配项。它们返回的是一个Maybe或[Match]类型的值,方便处理未匹配和多匹配的情况。 2. **替换函数**:如`subRegex`和`replace...

    TestRegex_regex_C#_

    Match match = regex.Match("123-45-6789"); ``` - `Matches()`: 返回一个 `MatchCollection`,包含了所有匹配项。 ```csharp MatchCollection matches = regex.Matches("123-45-6789, 987-65-4321"); ``` - ...

    Regex Match Tracer 2.1.6.925官网免费版正则表达式工具.zip

    Regex Match Tracer是一款正则表达式测试工具,内置替换模式、分割模式与扩展模式。现在官方已经发布了这个免费版本,匹配无限制使用。MTracer.exe(主程序)MTracerWeb.ocxstdplgin.dllUninstall

    Cpp regex usge demo

    `std::regex_match`会检查整个字符串是否完全符合模式,而`std::regex_search`则可以在字符串的任何位置找到匹配的部分。 ```cpp std::string input = "123abc456"; if (std::regex_match(input, numberRegex)) { ...

    regex++ document (boost)

    1. 匹配:`boost::regex_match`、`boost::regex_search`和`boost::regex_iterator`分别用于检查整个字符串、子串以及迭代器范围内的匹配。 2. 替换:`boost::regex_replace`函数可以将匹配的文本替换为指定的字符串...

    C++Regex正则表达式

    2. **匹配器(Matcher)**:`std::regex_match` 和 `std::regex_search` 是两种常用的匹配器,分别用于判断整个字符串是否匹配和字符串中是否存在匹配部分。 3. **迭代器(Iterator)**:`std::sregex_iterator` 和...

    RegexMatch正则表达式测试软件

    RegexMatch正则表达式测试软件是一款专为程序员和IT专业人士设计的工具,它允许用户方便地测试和调试他们的正则表达式。正则表达式(Regular Expression)是一种强大的文本处理工具,广泛应用于数据验证、搜索替换、...

    C++正则表达式-regex类(不依赖其他库)

    `regex_match`检查输入的字符串是否完全匹配正则表达式,而`regex_search`则在字符串中查找是否存在符合正则表达式的部分。 3. **迭代器接口**:`regex_iterator`和`regex_token_iterator`允许你遍历输入字符串中...

    Regex Match Tracer - 2.1.5 (MTracer)

    Regex Match Tracer 是一款协助编辑,测试正则表达式的工具,尤其对于长表达式。目前官方新版本已完全免费,并且修正了bug,提升了效率。官网地址:http://www.regexlab.com/ 。

Global site tag (gtag.js) - Google Analytics