菜到抠脚的cxy 2021-12-01 12:03 采纳率: 0%
浏览 57

正则表达是如何提取字串

原始字符串

<table>asd</table>\r\n<table>序号</table>

目标结果字符串

<table>序号</table>

问题补充, 完善了需要处理的原始字符串.

  • 1 增加换行(这里正则的.不能匹配换行符号)
    <table attr="asd">asd</table>
    <table><tr height="29"><td>序号</td></tr><tr height="29"><td>1</td></tr></table>
    
  • 2 我的目的是一个文本里面有多个table, 然后我要取出包含有特定列的table, 比如说包含了序号列
    我目前写的正则是
    <table((?!</table>)[\s\S])*序号[\s\S]*</table>
    
  • 3 但是如果考虑第二个table包含有其他的table就有问题, 比如
    <table attr="asd">asd</table>
    <table><table attr="asd">asd</table><tr height="29"><td>序号</td></tr><tr height="29"><td>1</td></tr></table>
    
  • 写回答

4条回答 默认 最新

  • ~白+黑 新星创作者: python技术领域 2021-12-01 13:32
    关注
    
     b=re.findall(r"<table>.*<\/table>$",a)
    >>> b
    ['<table>序号</table>']
    
    评论

报告相同问题?

问题事件

  • 修改了问题 12月1日
  • 创建了问题 12月1日