對于正則運算式大師來說應該是一個簡單的。我在 regex101 上玩得很不走運...
我正在使用 VBA 和 Access,我想清理富文本;我不介意顏色、粗體、下劃線,但我想強制字體樣式和大小。
我有這個
With objRegEx
.Global = True
'Replace font size
.Pattern = "size=[0-9]"
strText = .Replace(strText, " size=" & nSize)
'Replace font face
.Pattern = "face=([""'])(?:[\r\n]*(?=(\\?))\2.)*?\1"
strText = .Replace(strText, "face=" & strFont)
End With
但它僅在字體包含在引號中時才有效。這不適用于單字命名的字體。
我需要匹配
font="Times New Roman"
font='Times New Roman'
font=Calibri
謝謝!
uj5u.com熱心網友回復:
您可以使用
.Pattern = "size=[0-9] "
在這里,[0-9] 匹配一位或多位數字。
要解決您可以使用的主要問題
.Pattern = "face=(?:""[^""]*""|'[^']*'|\S )"
請參閱正則運算式演示。詳情:
face=- 一個字串(?:"[^"]*"|'[^']*'|\S )- 非捕獲組匹配"[^"]*"|-",然后是除"然后一個"字符之外的任何零個或多個字符,或'[^']*'|-',然后是除'然后一個'字符之外的任何零個或多個字符,或\S- 一個或多個非空白字符
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/350315.html
上一篇:VBA:如何從函式傳遞字串陣列
下一篇:InventorVBA保存檔案
