Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: yedeen58

[已解决]正则内类不匹配

[复制链接]
 楼主| 发表于 2014-10-11 16:57 | 显示全部楼层
liuguansky 发表于 2014-10-11 09:54
取得AA的效果你试试?

好像不行正则表达示
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

 楼主| 发表于 2014-10-11 17:01 | 显示全部楼层
香川群子 发表于 2014-10-11 15:37
这是原始数据,但是你要提取什么样的结果呢?完全没说!……要靠猜?!

取/后面的数字,有两个/的话取中间的数据
回复

使用道具 举报

发表于 2014-10-11 17:11 | 显示全部楼层
yedeen58 发表于 2014-10-11 16:57
好像不行正则表达示

??
回复

使用道具 举报

 楼主| 发表于 2014-10-11 17:17 | 显示全部楼层
liuguansky 发表于 2014-10-11 17:11
??

.Pattern = "/(\d+)(?=/|$)"
这个表达示验证不行,你试可以吗?
回复

使用道具 举报

 楼主| 发表于 2014-10-11 17:30 | 显示全部楼层
ghostjiao 发表于 2014-10-11 08:20
你看看可以不

可以用,但我想用正则表达示不知道那个怎么写?
回复

使用道具 举报

发表于 2014-10-11 23:00 | 显示全部楼层    本楼为最佳答案   
本帖最后由 香川群子 于 2014-10-11 23:43 编辑
yedeen58 发表于 2014-10-11 17:17
.Pattern = "/(\d+)(?=/|$)"
这个表达示验证不行,你试可以吗?

根据你提供的数据,可以发现规律是需要提取/分开的第2组数值。

方法-1:
.Pattern = "\d+"

方法-2:
.Pattern = "\d+(?=/|$)"

然后、直接提取第2组。
Function f(txt$)
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = "\d+"                '方法-1    直接判断数值
       ' .Pattern = "\d+(?=/|$)"    '方法-2   判断跟随/或结尾 的数值
        If .test(txt) Then f = .Execute(txt)(1) '提取第2组数值
    End With
End Function

点评

数字开头的呢 15/虽然可以TEST到,但是取(1)是取不到的。  发表于 2014-10-13 10:13
回复

使用道具 举报

 楼主| 发表于 2014-10-12 07:20 | 显示全部楼层
本帖最后由 yedeen58 于 2014-10-12 07:29 编辑
香川群子 发表于 2014-10-11 23:00
根据你提供的数据,可以发现规律是需要提取/分开的第2组数值。

方法-1:


第一种可行,第二种你有调试过吗,不行呀
回复

使用道具 举报

发表于 2014-10-13 10:14 | 显示全部楼层
yedeen58 发表于 2014-10-11 17:17
.Pattern = "/(\d+)(?=/|$)"
这个表达示验证不行,你试可以吗?

我测试可行……你不用前置/会有可能出错,先前置/再获取分组就可以了。
回复

使用道具 举报

发表于 2014-12-25 16:43 | 显示全部楼层
.Pattern = "\d{1,}"
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-6 06:13 , Processed in 0.683862 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表