急求正则表达式

西出阳关的故人 2009-01-08 07:37:19
<table ..>
<tr> <td> .. </td> </tr>
</table>
一些文字
<table ..>
<tr> <td> .. </td> </tr>
</table>
一些文字

<table ..>
<tr> <td> .. </td> </tr>
</table>
一些文字

我要取红色部分的所有字符,而不是 <table>与 </table>之间的字符

请问怎样设计正则表达式
...全文
106 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
job_2006 2009-01-10
  • 打赏
  • 举报
回复
<table.*(.|\n)*?</table>
  • 打赏
  • 举报
回复
http://www.regexlab.com/zh/workshop.asp
有一个测试用的正则表达式具,楼上好友的提供的表达式我都测试了,得不到相应的结果

测试文本我就用了下面的,
<table xxx>
<tr> <td>xxx </td> </tr>
</table>
一些文字 <table xxx>
<tr> <td> xxx </td> </tr>
</table>
一些文字

<table xxx>
<tr> <td> xxx </td> </tr>
</table>
一些文字
测试表达式就用了楼上各位的,还请更多朋友提供思路

编程中我没有办法,只好用正则替换将每上<table>替换为AABBCCDDEE<TABLE>
然后再用正则表达式匹配<table>与AABBCCDDEE,处理完后,再将AABBCCDDEE替换为这空字符
止戈而立 2009-01-10
  • 打赏
  • 举报
回复
楼主没把问题表述清楚啊..
试一下这个吧:
<table\b[\s\S]*?(?=<table|$)
gutty 2009-01-09
  • 打赏
  • 举报
回复
解释如下:

<table[^>]*>(.(?!</table>))*.</table>(.(?!<table))*.
<table[^>]*> #匹配 <table ..>
(.(?!</table>))*.</table> #匹配 <tr> <td> .. </td> </tr></table>
(.(?!<table))*. #匹配 一些文字

其中第二行,(?!</table>)表示后面不是</table>,所以
(.(?!</table>))* #匹配 <tr> <td> .. </td> </tr
. #匹配 >
</table> #匹配 </table>
gutty 2009-01-09
  • 打赏
  • 举报
回复
试试这个:

<table[^>]*>(.(?!</table>))*.</table>(.(?!<table))*.

为了尽量避免非贪婪匹配的效率问题,所以稍微麻烦了一点。
止戈而立 2009-01-09
  • 打赏
  • 举报
回复
不就是:
<table>.*?(?=<table>)
chinacn101 2009-01-09
  • 打赏
  • 举报
回复
没标识不容易取
Fibona 2009-01-08
  • 打赏
  • 举报
回复
<table>([^</table>]*)</able>(.*)(?=<table>)

John_Hee 2009-01-08
  • 打赏
  • 举报
回复
楼主像你这样红色的字体是很难匹配的,因为没有规律可循特别是在"<"、">"之间相当复杂,网上有些相对简单的HTML匹配方法,所以建议最好在红色部分标记一些唯一的标记(如:“[”、"]"),这样会容易寻找
  • 打赏
  • 举报
回复
文字部分无规律,也没有标签ID
善缘2022 2009-01-08
  • 打赏
  • 举报
回复
支持。
purexu 2009-01-08
  • 打赏
  • 举报
回复
正则要有规律可寻~
如红色部分的<table>是不是在字符串的开头~或前面是不是有唯一可标识的字符串~
结尾部分也是不是有唯一可标识的字符串~
或者是整个字符串的第一个或最后一个<table>及后续文字~
如果不是就只能按<table>分离字符串~然后获取第几个再在前面补上<table>~

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧