推广 热搜: 未来    中国  企业  服务  政策  公司  快速  上海  设备 

Excel-VBA代码,用正则表达式提取关键字

   日期:2024-11-19     作者:xasic    caijiyuan   评论:0    移动:http://xiaoguoguo.dbeile.cn/mobile/news/1018.html
核心提示:Sub test()Dim ss As Range, sj, nSet reg = CreateObject('vbscript.regexp') '正则表达式后期绑定With reg.Global = True '全

Sub test()

Excel-VBA代码,用正则表达式提取关键字

Dim ss As Range, sj, n

Set reg = CreateObject('vbscript.regexp') '正则表达式后期绑定

With reg

.Global = True '全局匹配True,默认为false

.Pattern = 'd+.?d?' '指定匹配模式

For Each ss In Range('a2', Cells(Rows.Count, 1).End(xlUp)) '循环指定区域的数值

Set sj = .Execute(ss) '对()内的字符执行正则表达式搜索

For Each ss1 In sj

n = n + 1

ss.Offset(0, n) = ss1

Next ss1

n = 0

Next ss

End With

End Sub

如需匹配别的模式,更改代码中的红色字体即可。

匹配模式说明:

下面例举一些常用的元字符:(注意大小写之分)

d 匹配所有单个数字字符(可以代替[0-9],但不能取代),d+匹配在一起的数字

D 匹配单个数字以外的字符(包括字母,汉字,空格,下划线,各类符号。可以替代[a-zA-Z],但不能取代)(只匹配汉字[一-龢]或[一-龥])

w 匹配:下划线、单个字母、汉字、数字。[A-Za-z0-9_]

W 匹配任何非单词字符(包括空格、各类符号、但不能识别下划线)

s 匹配任何空白字符,包括空格、制表符、换行符等等,眼睛看不见的。

S 匹配任何非空白字符,眼睛能看见的都匹配。

b 匹配一个单词边界,也就是指单词和空格间的位置(不支持汉字)

B 匹配非单词边界

匹配一个换行符

匹配一个回车符

匹配一个制表符(Tab键)

. 匹配除' '之外的任何单个字符。

.只匹配.

正则表达式中的量词如下:

? 匹配零次或一次。

+ 匹配一次或多次。

* 匹配零次或多次。

上下限:{下限,上限}

{n} 匹配n次。

{n,} 匹配至少n次,无上限。

{n,y} 匹配n次到y,y>n。

常用举例:

d+.?d? 匹配数字或小数点:36.5,36,3,3.66

d{4,} 匹配4位数以上的数字

[a-zA-Z]+d+ 匹配字母+数字

本文地址:http://xiaoguoguo.dbeile.cn/news/1018.html    多贝乐 http://xiaoguoguo.dbeile.cn/ , 查看更多
 
 
更多>同类行业资讯
0相关评论

新闻列表
企业新闻
推荐企业新闻
推荐图文
推荐行业资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2023001713号