Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4143|回复: 10

相同字符,如何匹配指定第几次出现数的那一个

[复制链接]
发表于 2019-9-11 17:11 | 显示全部楼层 |阅读模式
正则表达式相关问题
如果一段字符串,有几个相同的字符,比如 /,但是我只想匹配到第一个/前面的内容,第二个/前面的内容我不要,请问用正则表达式,该怎么写?
比如:    2146220101(完工)/17-08-31/1我只想匹配出    2146220101(完工)
后面的    17-08-31/1    不要
请大神帮忙看一下,谢谢

发表于 2019-9-11 19:37 | 显示全部楼层
回复

使用道具 举报

发表于 2019-9-11 19:41 | 显示全部楼层
^.*(?=/)

同意2楼观点

split (   XXXXX      ,"/")(0)
回复

使用道具 举报

发表于 2019-9-12 09:34 | 显示全部楼层
Sub test()
    With CreateObject("VBScript.RegExp")
        .Pattern = "\w+(?=/)"
        MsgBox .Execute("aBc/cd/f")(0)
    End With
End Sub




看以前记的,不知这样写合适吗
\w+ 任意一个字母或数字或下划线,至少出现1次
(?=/) 匹配/前面的内容
(0) 第1个匹配项
回复

使用道具 举报

发表于 2019-9-12 10:30 | 显示全部楼层
Sub test2()
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = ".*?(?=/)"
        MsgBox .Execute("2146220101(完工)/17-08-31/1")(2)
    End With
End Sub
回复

使用道具 举报

发表于 2019-9-12 13:10 | 显示全部楼层
爱疯 发表于 2019-9-12 10:30
Sub test2()
    With CreateObject("VBScript.RegExp")
        .Global = True

比如:    2146220101(完工)/17-08-31/1我只想匹配出    2146220101(完工)

哈哈 , 疯哥 心不在

回复

使用道具 举报

发表于 2019-9-12 15:14 | 显示全部楼层
砂海 发表于 2019-9-12 13:10
比如:    2146220101(完工)/17-08-31/1我只想匹配出    2146220101(完工)

哈哈 , 疯哥  ...

Sub test3()
    With CreateObject("VBScript.RegExp")
        .Pattern = ".*?(?=/)"
        MsgBox .Execute("2146220101(完工)/17-08-31/1")(0)
    End With
End Sub




谢谢 砂海
我在脑海里还复查了的,唉。。。。
回复

使用道具 举报

 楼主| 发表于 2019-9-15 14:50 | 显示全部楼层
砂海 发表于 2019-9-11 19:41
^.*(?=/)

同意2楼观点

谢谢老师,不过我还想问下,为什么在后面要加个(0)?
回复

使用道具 举报

 楼主| 发表于 2019-9-15 14:50 | 显示全部楼层
mytto88 发表于 2019-9-11 19:37
split都不用正则吧

多谢老师的答复,但是split是不是要用到数组?
回复

使用道具 举报

 楼主| 发表于 2019-9-15 14:51 | 显示全部楼层
爱疯 发表于 2019-9-12 15:14
Sub test3()
    With CreateObject("VBScript.RegExp")
        .Pattern = ".*?(?=/)"

谢谢老师的解答,我还想问下,最后的(0)代表什么意思?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 13:44 , Processed in 1.950442 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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