继续学习查找定位功能,结合【条件格式】
VB.net-VSTO插件查找定位指定字符单元格功能(包含、不包含,开头、结尾) | |
下面是前面的学习内容 | |
ExcelVBA运用Excel的【条件格式】(一) | 基础知识 |
ExcelVBA运用Excel的【条件格式】(二) | 字符包含或不包含 |
ExcelVBA运用Excel的【条件格式】(三) | 字符开头或结尾 |
ExcelVBA运用Excel的【条件格式】(四) | 前10,后10 |
ExcelVBA运用Excel的【条件格式】(五) | A<数据x<B |
ExcelVBA运用Excel的【条件格式】(六) | 最大、最小 |
【问题】
我们能不能把(二)(三)的功能整合在起,并整合进插件“哆哆Excel”中
经过一番的努力,调试,完成啦
【效果】
如图
包含
不包含
开头
结尾
同样的效果,这里就不上图啦
【知识点】
在VB.NET中,正则表达式主要通过System.Text.RegularExpressions
命名空间下的Regex
类来实现。Regex
类提供了多种方法和属性来执行正则表达式操作,如匹配、搜索、替换等。下面是一些常用的方法和属性:
方法
Match(String input): 在输入字符串中搜索第一个与正则表达式模式匹配的项。
Matches(String input): 在输入字符串中搜索所有与正则表达式模式匹配的项,并返回一个
MatchCollection
集合。Replace(String input, String replacement): 在输入字符串中搜索所有与正则表达式模式匹配的项,并将它们替换为指定的替换字符串。
Split(String input): 根据正则表达式模式拆分输入字符串,并返回一个字符串数组。
IsMatch(String input): 指示输入字符串中是否存在与正则表达式模式匹配的项。
属性
Regex
类本身并没有直接暴露很多属性,但它通过其方法返回的Match
和MatchCollection
对象提供了许多有用的属性。这些属性主要用于获取匹配项的详细信息。
Match 对象的属性:
Success
: 指示匹配是否成功。Value
: 获取匹配的字符串。Index
: 获取匹配的起始位置。Length
: 获取匹配的字符串的长度。Groups
: 获取捕获的子表达式的集合。
Group 对象的属性 (通过
Match.Groups
访问):Success
: 指示捕获是否成功。Value
: 获取捕获的字符串。Index
: 获取捕获的起始位置。Length
: 获取捕获的字符串的长度。Captures
: 获取特定捕获组的所有捕获的集合(对于某些复杂的正则表达式匹配很有用)。
示例
以下是一个简单的VB.NET示例,演示如何使用Regex
类来查找字符串中的所有数字:
vb复制代码
Imports System.Text.RegularExpressions
Module Module1
Sub Main()
Dim input As String = "There are 123 apples and 456 oranges."
Dim pattern As String = "\d+"
Dim matches As MatchCollection = Regex.Matches(input, pattern)
For Each match As Match In matches
Console.WriteLine("Found '{0}' at position {1}", match.Value, match.Index)
Next
End Sub
End Module
在这个示例中,正则表达式"\d+"
用于匹配一个或多个数字。Regex.Matches
方法用于查找输入字符串中所有与模式匹配的项,并将它们存储在MatchCollection
对象中。然后,我们遍历这个集合,打印出每个匹配项的值和位置。
【我的代码】
关键代码
If RadioButton1.Checked = True Then
pattern = ".*" + seachText + ".*"
End If
If RadioButton2.Checked = True Then
pattern = "^(?!.*" + seachText + ").*$"
End If
If RadioButton3.Checked = True Then
pattern = "^" + seachText '开头Dim pattern As String = "^XXX"
End If
If RadioButton4.Checked = True Then
pattern = seachText + "$" '结尾Dim pattern As String = "XXX$"
End If
如果有问题可以问
也可以问
====若有用,请转发免费学习====
关注看更多文章