正則替換對我等業余選手太難搞了。下面是我在VB6中用于正則替換的部分代碼。
Public Sub ZZ_Replace()
Const ForReading = 1
Const ForWriting = 2
Dim strTxt As String '用于查找替換的文本
Dim expTxt As String '查找串(可用正則運算式)
Dim repTxt As String '替換串
Dim s1 As String '跳出回圈比較串
Dim s2 As String '跳出回圈比較串
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("c:\temp.txt", ForReading)
strTxt = objFile.ReadAll
objFile.Close
strTxt = StrReplace(strTxt, "\\d\\ba\d+\\li\(([^)]*)\)([^\r\n]{1})", "[KG-3]$1$2[CD#1]")
Set objFile = objFSO.OpenTextFile("c:\temp.txt", ForWriting)
objFile.WriteLine strTxt
objFile.Close
Set objFSO = Nothing
Set objFile = Nothing
End Sub
我現在要匹配像下面有多重空心括號〖*〗嵌套的字串(實際嵌套可能比下例更復雜或簡單):
↑〖A〖BC↑〖2〗+EFG↓〖35〗〗〗……,后面也有〖*〗
應怎樣將↑后面的最外一層〖*〗匹配后再實行替換?如果用貪婪模式,那此字串后面可能還有很多〗
uj5u.com熱心網友回復:
對正則不太熟練但是有些正則運算式看起來很簡單,但是執行效率太低,不如用函式replaceuj5u.com熱心網友回復:
正則在線測驗地址:http://www.regexp.cnuj5u.com熱心網友回復:
匹配有多重嵌套的字串—— 莫非要使用 傳說中的 正則平衡組 ??
【很抱歉,正則的 “平衡組”我不會 】
uj5u.com熱心網友回復:
就是要使用平衡組,其實平衡組最好寫,寫法就是固定的寫法uj5u.com熱心網友回復:
正則不利于維護,效率也低。寫代碼吧,雖然看起來沒有正則那么簡短。轉載請註明出處,本文鏈接:https://www.uj5u.com/net/100676.html
標籤:VB.NET
上一篇:VB.net的程式怎么改名字啊?
下一篇:c#繪制應力分布云圖的方法
