网站首页 > 文章中心 > 其它

vb.net正则筛选_excel做正则筛选

作者:小编 更新时间:2023-08-08 11:52:09 浏览量:95人看过

vb.net正则表达式

Imports?System.Text.RegularExpressions

Public?Class?Form1

Public?Function?MadeRegexArray(ByVal?strText?As?String,?ByVal?strRegx?As?String,?ByVal?rexOpt?As?RegexOptions,?ByVal?Groups?As?Integer)?As?String()

REM?正则结果直接以字符串组形式返回

REM?strHtml待搜索的字符串

REM?strRegx正则表达式

vb.net正则筛选_excel做正则筛选-图1

REM?rexOpt正则选项

On?Error?Resume?Next

Return?MadeMatchString(MadeRegexMatch(strText,?strRegx,?rexOpt),?Groups)

End?Function

Public?Function?MadeMatchString(ByVal?mc?As?MatchCollection,?ByVal?Groups?As?Integer)?As?String()

REM?把MatchCollection以字符串组形式保存

REM?mc正则匹配的集合

REM?返回字符串组

Dim?strRegCode(mc.Count)?As?String

For?i?As?Integer?=?0?To?mc.Count?-?1

strRegCode(i)?=?mc(i).Groups(Groups).Value

Next?i

Return?strRegCode

Public?Function?MadeRegexMatch(ByVal?strText?As?String,?ByVal?strRegex?As?String,?ByVal?rexOpt?As?RegexOptions)?As?MatchCollection

REM?获取正则表达式匹配的集合

REM?strHtml待正则的字符串

REM?strRegex正则表达式

REM?返回?MatchCollection?类型集合

Dim?rex?As?Regex?=?New?Regex(strRegex,?rexOpt)

Return?rex.Matches(strText)

Public?Function?MadeRegexReplace(ByVal?sText?As?String,?ByVal?sRegex?As?String,?ByVal?sReplace?As?String)?As?String

REM?正则表达式文本替换

REM?sText原文本

REM?sRegex表达式

REM?sReplace替换文本

Dim?rex?As?Regex?=?New?Regex(sRegex,?RegexOptions.IgnoreCase)

Return?rex.Replace(sText,?sReplace)

Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click

Dim?sRegex?As?String?=?"([\s\S]*?)"

Dim?aTable()?As?String?=?MadeRegexArray(TextBox1.Text,?sRegex,?RegexOptions.IgnoreCase,?1)

For?i?As?Integer?=?0?To?aTable.Length?-?1

End?Sub

End?Class

如图:

vb.net 正则表达式

正则表达式是:

/[a-zA-Z/]+$

如果要把第一个斜杠去掉,就是匹配index/index/index,用后向匹配,正则是:

(?=/)[a-zA-Z/]+$

VB.NET 正则表达式提取

^Host:\s(.+)$

^表示是一行的开始,Host:是你要匹配的内容中固定的部分(我是这么认为的),\s表示有一个空格或者Tab,(.+)表示任意字符,就是匹配hm.baidu.com的,$表示是行的结尾,匹配结果中提取到的就是hm.baidu.com了.

VB.net中如何将正则表达式小括号中的内容提取出来?

MatchCollection

Dim IsMatch As Boolean = Regex,如何将SearchPattern中的指定的 那个三个小括号对应的内容即SubMatches(0)=".RegularExpressions.Groups(0);) !

For Each Mt In Matchs

On Error Resume Next

Dim Matchs As System;China Public National".+)"?

我用如下 ; 提取出来呢.Text.Regex

Regex = New System; National".IsMatch(StrForSearch)

Matchs = Regex.+)c(,执行了此句之后;(.Text.Text.+)a(;

Dim Regex As System比如正则表达式为

SearchPattern=",具体解决方案如下:

解决方案1:

在这之后的字符会显示不出来.RegularExpressions.Regex(SearchPattern)

Dim Matchs As System;Groups集合索引从0开始.Item(i),但是第一项是完整匹配项,这个是字符串的结束标记.+)c(,接下去才是子项

S = S .Text;"Dim IsMatch As Boolean = Regex.RegularExpressions,但是不要用Chr(0).Regex

Regex = New System;China Public National".RegularExpressions.Value vbcrlf

Next

也是可以的;

With Matchs; ".Count - 1 '.Text.MatchCollection

'.+)".IsMatch(StrForSearch)

Matchs = Regex:

For Each Mt In Matchs.groups

S = S Mt.Item(0);

End With

MsgBox(S)

你的循环改成.Matches(")

Dim S As String = "

Dim Regex As System.Item(0).Value "Dim SearchPattern As String = ".Text.Groups

For i As Integer = 1 To ;(.+)a(

提问者评价

多谢指教!

Dim SearchPattern As String = "(.+)a(.+)c(.+)"

Dim Regex As System.Text.RegularExpressions.Regex

Regex = New System.Text.RegularExpressions.Regex(SearchPattern)

Dim Matchs As System.Text.RegularExpressions.MatchCollection

'Dim IsMatch As Boolean = Regex.IsMatch(StrForSearch)

Matchs = Regex.Matches("China Public National")

Dim S As String = ""

With Matchs.Item(0).Groups

For i As Integer = 1 To .Count - 1 'Groups集合索引从0开始,但是第一项是完整匹配项,接下去才是子项

S = S .Item(i).Value " "

Dim matches As MatchCollection = rx.Matches("(.*)")

VB.NET如何对输入的数据进行合法性检验,过滤不合法的数据代码

合法性校验有很多方法,要视情况而定,比如说可以用正则表达式,如果是数字,除了正则表达式,也可以用诸如TryParse这种方法.

以上就是土嘎嘎小编为大家整理的vb.net正则筛选相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章