问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

VB script 正则表达式的使用

发布网友 发布时间:2022-04-20 00:25

我来回答

1个回答

热心网友 时间:2022-07-12 07:01

这是我做的一个txt阅读器里的 正则值过滤方式的 两个函数,你拿去参考吧
' =====================正则值过滤方式
Private Function REGEXP0()
Dim rFind As RegExp
Dim S As String, sChap As String, n As Long
Dim rMatch As Match, rMatchCol As MatchCollection
Dim lngItem As Long
Me.Caption = "正在创建目录请稍后..."
sFile = Trim$(Filename)
'If Len(sFile) = 0 Then Exit Sub
'If Len(Dir$(sFile)) = 0 Then Exit Sub
Set rFind = New RegExp
rFind.IgnoreCase = True: rFind.Global = True
rFind.Pattern = TxtFindx
iMemos = 0
ReDim iMemo(0), iChapNum(0), sChapName(0), sText(0)
iMemo(0) = 1: iChapNum(0) = 0: sChapName(0) = "(Index)": sText(0) = ""
Open sFile For Input As #1
Do While Not EOF(1)
' DoEvents
Line Input #1, S: n = n + 1
lins = lins + 1

If rFind.Test(S) Then
iMemos = iMemos + 1

ReDim Preserve iMemo(iMemos), iChapNum(iMemos), sChapName(iMemos), sText(iMemos) '重新定义数组
If (iMemos > 1) And (n - iMemo(iMemos - 1) < 10) Then '找到相同的项删掉
List1.RemoveItem List1.ListCount - 1

End If
sText(iMemos) = S
iMemo(iMemos) = n
iChapNum(iMemos) = 0
sChapName(iMemos) = "(Unknown)"
Set rMatchCol = rFind.Execute(S)
For Each rMatch In rMatchCol
If InStr(TheChapWord, "," & rMatch.SubMatches(1) & ",") Then
sChap = rMatch.SubMatches(0)
iChapNum(iMemos) = UCaseToNum(sChap)
sChapName(iMemos) = Trim$(Replace(rMatch.SubMatches(2), " ", ""))
Exit For
End If
Next

List1.AddItem iMemos & "." & Trim$(sText(iMemos)) '加载目录

End If
Loop
ReDim Preserve iMemo(iMemos + 1), iChapNum(iMemos + 1), sChapName(iMemos + 1)
iMemo(iMemos + 1) = n + 1
iChapNum(iMemos + 1) = 0
sChapName(iMemos + 1) = "(End)"
Close #1

End Function
'==================正则值函数==========
Private Function UCaseToNum(S As String) As Integer
Dim c As String, S1 As String, S2 As String, s0 As String, i As Long
S1 = "一二三四五六七*"
S2 = "123456789"
s0 = "零○0"
c = Trim$(S)
If Left$(c, 1) = "十" Then c = "1" & c
If Right$(c, 1) = "十" Then c = c & "0"
If Right$(c, 1) = "百" Then c = c & "00"
For i = 1 To 9
c = Replace(c, Mid$(S1, i, 1), CStr(i))
c = Replace(c, Mid$(S2, i, 1), CStr(i))
Next
For i = 1 To Len(s0)
c = Replace(c, Mid$(s0, i, 1), "0")
Next
c = Replace(c, "十", "")
c = Replace(c, "百", "")
c = Replace(c, "两", "2")
UCaseToNum = Val(c)
End Function
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
橙子冷藏能保存多久 橙子会过期吗 新鲜橙子如何保存更久 橙子保鲜剂对人体有害吗 粒上皇开口熟栗120g*5袋(共600g)-详细介绍 三皇王板栗介绍 品牌榜:2024年板栗十大品牌排行榜 投票结果公布【新】 为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 VB moscomm控件发送16进制的5E,如何编程。 如何用47型万用表测场效应管的hfe 请大神给一个能用单片机控制mos管完全关断的图,就... mim与mos有什么区别,分别在什么情况下使用 MOSFET测试EAS的问题 如何卸载爱奇艺? 食品经营许可证过期怎么办? 食品流通许可证,过期了怎么办? 食品经营许可证过期了怎么办理 食品流通许可证快到期了怎么办 食品经营许可证过期了该怎么处理 食品经营许可证续期怎么办理 怎么看待领导在朋友圈和公司群里一直发鸡汤文? 私企领导的心灵鸡汤应该如何对待 为什么领导们都喜欢分享心灵鸡汤 领导喜欢给员工喝鸡汤是何种体验呢? 心灵鸡汤喝多了会有什么样的表现? 为什么老板都喜欢给员工灌输鸡汤? 工作群中老板在微信群里发励志鸡汤文,员工们应如... 在职场中,总是容易被领导的心灵鸡汤感动怎么办? Microsoft Office Specialist考试试题 it is thanks to the mos exam i am able to stand flyback driver电路图(ZVS)谁有?我为什么怎么找... virtuoso里的library库不全怎么办?哪里有下载的?... Angular 兄弟组件怎么通信 Cosmos 是什么意思? 怎么把文字两段对齐?像第二张图片那样,谢谢大家 爱奇艺PPS下载在电脑里怎么卸载?卸载了很久了一直卸载不了,怎么办? 短视频制作需要什么基础? 短视频拍摄都需要掌握哪些技巧? 短视频APP开发都要需要具备哪些主要功能? 制作短视频时,拍摄人员需要具备哪些技能? 做短视频需要准备些什么? 短视频制作有什么优点? 短视频非常火,想学习制作短视频,都需要学习那些... 短视频制作需要注意什么? 制作短视频有哪些要素? 短视频创作需要用到哪些方面的知识? 农村短视频内容制作的必备技能有哪些? 怎样才能做好一个视频短片?