日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

正则查找倒数第二个符合条件的字符串_EXCEL正则表达式的基础语法

發布時間:2023/12/2 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 正则查找倒数第二个符合条件的字符串_EXCEL正则表达式的基础语法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

正則表達式的基本概念及用途了解之后,我們就來學習下具體的語法,先以一個簡單的例子來講解。

基礎語法:

比如,A1單元格中有一串字符:aabbccddaabbcc,我們要把其中的a找到,然后替換成o。

代碼如下:

Sub test()

Dim regx As Object, t$, k, s, n

t = "aabbccddaabbcc"

Set regx = CreateObject("vbscript.regexp")'引用正則表達式

regx.Global = True '查找范圍,true為全部查找,false只查找第一個,默認是false。

regx.Pattern = "a" '引號里書寫正則表達式,這里要查找a,就直接寫個a

Set k = regx.Execute(t) 'Execute方法的結果為一個對象,返回匹配成功的結果。

For Each s In k '通過循環K可以得到該對象中的每個元素。

MsgBox s

Next

n = regx.Replace(t, "o") '將匹配成功的結果做替換

MsgBox n

End Sub

上面的代碼后面都有注釋,首先要引用正則表達式,前期綁定也可以,直接創建也可以,然后要對regexp的兩個屬性做出指定。

Global屬性,指查找范圍,true為全部查找,false只查找第一個,如果上面案例中其屬性改為false,那么只要該字符串中查找第一個a。

Pattern屬性,指的是正則表達式。

下面講下正則表達式的兩個方法:

Execute方法,返回匹配成功的結果,是一個對象,通過for each 可以循環其中的值。

Replace方法,將匹配的結果做替換,regx.Replace(t, "o"),t為原字符串,第二個參數為要替換為的結果。

普通字符的替換:

了解了基礎的語法之后,我們來看下如何用正則對普通的字符做替換。

如上例中,把A列部門中的門字去掉。

思路:

對A列部門循環,循環出來的值用正則表達式匹配門字,并把匹配的結果替換成空。

代碼如下:

Sub test1()

Dim regx As Object, rng1 As Range

Set regx = CreateObject("vbscript.regexp")

With regx

.Global = True

.Pattern = "門"

End With

For Each rng1 In Range("a2:a11")

rng1(1, 2).Value = regx.Replace(rng1.Value, "")

Next

End Sub

這里注意regexp的兩個屬性可以用with語法來書寫,這樣顯得簡潔明了。當然這節課我們只是對正則表達的基礎語法做了個了解,正則表達是真正的魅力在Pattern = "……",引號中的表達式,后面的課程中我們會體會到他的強大之處。

轉自:米宏Office

總結

以上是生活随笔為你收集整理的正则查找倒数第二个符合条件的字符串_EXCEL正则表达式的基础语法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。