vb.net正则表达 excel的vb正则表达式教程

VB.net中正则表达式实例

在所给代码基础上仅作修改.

创新互联建站是一家专注于网站设计制作、成都做网站与策划设计,濂溪网站建设哪家好?创新互联建站做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:濂溪等地区。濂溪做网站价格咨询:13518219792

首先导入命名空间

Imports System.Text.RegularExpressions

然后:

Function geta(ByVal Str)

Dim re As New Regex("a(.+?)href=""*([^\s]+?)""*(\s|)")

Dim Contents As MatchCollection = re.Matches(Str)

Dim links As String = Nothing

For Each Match In Contents ' 遍历匹配集合。

links = links + Match.SubMatches(1) + "|"

Next

geta = Mid(links, 1, Len(links) - 1)

geta = Replace(geta, "'", "")

re = Nothing

End Function

VB.NET正则表达式

Matches[1] 就是cc的数字

Matches[2] 就是bb的数字

[0]是整个字符串

VB.NET的正则表达式

Imports System.Text.RegularExpressions '引入命名空间

dim isTrue as boolean = regex.Match(textbox1.text, _

"(.*\x22.*\x22.*)|(.*\x27.*\x27.*)").Success

' 可匹配形如:"5648ffq" ,'454564565', 35235"ere"333, 434'ppp'89eru 等

'如果要匹配中文的“”、‘’

'改为:"(.*\u201C.*\u201D.*)|(.*\u2018.*\u2019.*)"

vb.net 正则表达式

(a|A)href=(.*?[\u4e00-\u9fa5]{8,19}.*?)(a|A)

在需要提取的部分加上正反括号进行匿名分组,

然后用$2获取该匿名分组就可以了

或者可以做命名分组,

VB.NET用正则表达提取数字的问题!

你把替换所有非数字为空字符串,改为替换所有非数字为空格,就可以把每组数字分开了.

完整的程序如下(改动的地方见注释)

Dim bbb As String

bbb = TextBox1.Text  

Dim My_str As String = Regex.Replace(bbb, "[^0-9]", " ") '这里把替换所有非数字为空字符串,改为替换所有非数字为空格

MsgBox(My_str)

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正则表达式

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 返回字符串组

On Error Resume Next

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

End Function

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

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

REM strHtml待正则的字符串

REM strRegex正则表达式

REM rexOpt正则选项

REM 返回 MatchCollection 类型集合

On Error Resume Next

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

Return rex.Matches(strText)

End Function

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

REM 正则表达式文本替换

REM sText原文本

REM sRegex表达式

REM sReplace替换文本

On Error Resume Next

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

Return rex.Replace(sText, sReplace)

End Function

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

On Error Resume Next

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

TextBox2.Text = TextBox2.Text  aTable(i)

Next i

End Sub

End Class

如图:


名称栏目:vb.net正则表达 excel的vb正则表达式教程
文章链接:http://hbruida.cn/article/doophos.html