V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
leihongjiang
V2EX  ›  程序员

正则表达式哪里写错了吗。匹配不上?

  •  
  •   leihongjiang · 2020-07-16 17:46:27 +08:00 · 1883 次点击
    这是一个创建于 1352 天前的主题,其中的信息可能已经有所发展或是发生改变。
    UD2L6O.png UDRd9x.png
    (.*)
    14 条回复    2020-07-23 09:49:39 +08:00
    wangritian
        1
    wangritian  
       2020-07-16 17:52:38 +08:00   ❤️ 1
    你的截图包含答案,把第二个勾挑上
    wnpllrzodiac
        2
    wnpllrzodiac  
       2020-07-16 17:53:49 +08:00 via Android
    空格数量,全角半角字符?
    alan0liang
        3
    alan0liang  
       2020-07-16 17:56:47 +08:00 via Android
    没记错的话「.」是不包含换行符的,应该至少需要用「<div ...>([.\n]*)</div>」
    alan0liang
        4
    alan0liang  
       2020-07-16 17:58:46 +08:00 via Android
    抱歉打错了,应该是「<div ...>((?:.|\n)*)</div>」
    leihongjiang
        5
    leihongjiang  
    OP
       2020-07-16 18:02:58 +08:00
    @wangritian 匹配到了 没上色。。。。难怪。
    leihongjiang
        6
    leihongjiang  
    OP
       2020-07-16 18:03:54 +08:00
    @alan0liang </div> 不是唯一 该怎么提取呢 。提取的内容在第一个</div>中间
    assilzm
        7
    assilzm  
       2020-07-16 18:17:30 +08:00
    首先 .不能匹配垂直空白符(\r\n )
    其次 如果 div 存在嵌套的情况 不建议使用正则 这涉及到标签之间需要平衡 (.NET 可以使用平衡组获取,不过根据你的例子来说可能也比较麻烦)
    建议用 xpath 或者 sizzle 之类的 dom 分析工具来解析
    feilong
        8
    feilong  
       2020-07-16 18:47:12 +08:00 via Android
    用[\s\S]+匹配, .*匹配不了换行
    lovecy
        9
    lovecy  
       2020-07-16 18:56:07 +08:00
    @leihongjiang *号后面加个?就行了,代表最小程度匹配,匹配到第一个<div>就会停止,
    sowish
        10
    sowish  
       2020-07-16 19:24:50 +08:00
    .*换成[\s\S*]
    sowish
        11
    sowish  
       2020-07-16 19:25:11 +08:00
    @sowish 错了,是[\s\S]*
    leihongjiang
        12
    leihongjiang  
    OP
       2020-07-17 00:52:12 +08:00
    @lovecy 换篇文章 正文中间出现了 div 。郁闷了
    mengzhuo
        13
    mengzhuo  
       2020-07-17 09:31:03 +08:00   ❤️ 1
    大哥,格式化文档就要用 html parser 啊!!!
    正则匹配改一个 attr 你就 GG 了
    myCupOfTea
        14
    myCupOfTea  
       2020-07-23 09:49:39 +08:00
    .*修改成 [\s\S\r]*
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2762 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 12:23 · PVG 20:23 · LAX 05:23 · JFK 08:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.