正则问题,来看看吧 - V2EX
请不要在回答技术问题时复制粘贴 AI 生成的内容
p1956

正则问题,来看看吧

  •  
  •   p1956 Aug 7, 2023 3065 views
    This topic created in 1010 days ago, the information mentioned may be changed or developed.
    <tr><td>532775<td><i>NULL</i><td><i>NULL</i><td><i>NULL</i><td> 林萍 <td> <td> <td> h0017byu1hc <td> 1049 <td> <td>62588<td> 001 <td><i>NULL</i><td>00532775 <td><i>NULL</i><tr><td>532858<td><i>NULL</i><td><i>NULL</i><td><i>NULL</i><td> 林欣彤 <td> <td> <td> i00178fmn0l <td> 1049 <td> <td>25685<td> 003F2pV <td><i>NULL</i><td>TX0 <td><i>NULL</i></table>

    正则提取 td 里面的内容(含空值),要通过 https://tool.oschina.net/regex/ 测试。<td>(.+?)<只有 18 个结果,怎么提取出正确的 30 个结果
    21 replies    2023-08-07 22:32:49 +08:00
    retanoj
        1
    retanoj  
       Aug 7, 2023
    html 不建议用正则扣
    73P2OdTjK6t29nk1
        2
    73P2OdTjK6t29nk1  
       Aug 7, 2023
    这种事交给 chatgpt 不是第一选择吗
    zpj520wzm
        3
    zpj520wzm  
       Aug 7, 2023
    td>(.+?)<
    8355
        4
    8355  
       Aug 7, 2023
    正则是效率最低的方式,标准 html 解析是最好的方案
    Great233
        5
    Great233  
       Aug 7, 2023
    td>.*?<
    这样?
    p1956
        6
    p1956  
    OP
       Aug 7, 2023
    @okaykai chatgpt 解决不了
    chnwillliu
        7
    chnwillliu  
       Aug 7, 2023 via Android
    <td>(.+?)(?=<)

    用断言,否则后面的尖括号会被吃了
    dayeye2006199
        8
    dayeye2006199  
       Aug 7, 2023 via Android
    建议做个树结构,然后框个迭代的条件过一遍就行
    cloudfox
        9
    cloudfox  
       Aug 7, 2023
    (?<=<td>)(.*?)(?=<td>)
    shiyuu
        10
    shiyuu  
       Aug 7, 2023
    chatgpt 帮你完成
    newaccount
        11
    newaccount  
       Aug 7, 2023
    <td>([^<]*)<
    p1956
        12
    p1956  
    OP
       Aug 7, 2023
    @chnwillliu 这个可以,谢谢
    newaccount
        13
    newaccount  
       Aug 7, 2023
    @newaccount 忽略我,原始数据不是标准 td 嵌套
    SuujonH
        14
    SuujonH  
       Aug 7, 2023
    善用 chatgpt ,不行就多问问

    <td>([^<]*)
    Seanfuck
        15
    Seanfuck  
       Aug 7, 2023
    3 楼 5 楼的都可以,奇怪了不能用<td>开头的
    davin
        16
    davin  
       Aug 7, 2023
    你这也不是标准的 HTML 吧,不遵循嵌套规则,结束标签呢?
    zpj520wzm
        17
    zpj520wzm  
       Aug 7, 2023
    @Seanfuck 楼主一开始的正则,后面会吞掉一个<,就匹配不了<td>开头了,间隔,所以只能匹配一半,就是 15 个。做法要么这样写,要么就是 chnwillliu 说的后向断言引用
    herozzm
        18
    herozzm  
       Aug 7, 2023
    测试正则请用: https://regex101.com/
    loveDiu4ever
        19
    loveDiu4ever  
       Aug 7, 2023
    td 里面套 td 真有人愿意给他写正则啊
    kaedeair
        20
    kaedeair  
       Aug 7, 2023
    td>(.+?)<
    为啥会漏最后一个是因为最后一个"<"把最后<td>的"<"吃了
    mikewang
        21
    mikewang  
       Aug 7, 2023
    不要使用正则表达式匹配 HTML: https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags

    HTML 不是正则文法语言,因此该语言不能被正则表达式“正确地”解析。
    About     Help     Advertise     Blog     API     FAQ     Solana     2789 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 62ms UTC 15:44 PVG 23:44 LAX 08:44 JFK 11:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86