V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
morri
V2EX  ›  问与答

请问这个正则要怎么写呢?

  •  
  •   morri · 2022-12-31 20:10:58 +08:00 · 1332 次点击
    这是一个创建于 722 天前的主题,其中的信息可能已经有所发展或是发生改变。

    字符串如下:

     1933 the sneaking10 around, she said, was distressing11. 
    

    我要匹配以字符串开始数字结尾的子串中的数字。 1011, 单独的 1933 不用匹配。

    现在 [a-z]+\d+ 可以匹配到 sneaking10distressing11

    如何在这个的基础上在匹配数字呢?

    9 条回复    2023-01-01 16:43:33 +08:00
    darer
        1
    darer  
       2022-12-31 20:11:55 +08:00
    要用断言咧
    Boyce
        2
    Boyce  
       2022-12-31 20:13:58 +08:00
    [a-z]+(\d+)
    darer
        3
    darer  
       2022-12-31 20:15:34 +08:00   ❤️ 1
    (?<=[a-zA-Z])\d+
    morri
        4
    morri  
    OP
       2022-12-31 20:17:54 +08:00
    @darer 厉害~ 这个可以匹配,断言不会呀。有好的博客推荐么,学学 😂~
    darer
        5
    darer  
       2022-12-31 20:20:46 +08:00
    @morri 没必要 知道有这么个东西就行 每次用到的时候现查就好了
    morri
        6
    morri  
    OP
       2022-12-31 20:21:34 +08:00
    @darer 3q
    wudicgi
        7
    wudicgi  
       2022-12-31 21:45:58 +08:00   ❤️ 1
    @morri #4 我一般查的时候就看这个文档,页面中有 零宽断言 (?<=exp) 匹配 exp 后面的位置
    https://deerchao.cn/tutorials/regex/regex.htm
    Uyloal
        8
    Uyloal  
       2022-12-31 21:51:57 +08:00
    试试这个行不行 https://imgur.com/a/vdhd8y5
    Nile20
        9
    Nile20  
       2023-01-01 16:43:33 +08:00
    正则表达式还是孰能生巧,推荐个网站,可以在线编辑表达式并实时查看匹配效果
    https://regex101.com/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   976 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:55 · PVG 06:55 · LAX 14:55 · JFK 17:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.