寻问一个简单的正则表达式,即时结贴!

yeno 2006-04-20 04:18:27
有一字符串str,它以strStart开头,以strEnd结尾,位在strStart和strEnd中间的是可变的strTemp,现在的任务是要从str中取出这个strTemp。

注:strStart,strEnd分别代表两个正则表达式或者字符串, strTemp是没有任何可描述规则的字符串(因为其可变性)

示例如下:
str="...<table><tr><td> ksf人"L<br >{*(^%*&:PROP </td> </tr></table> <table><tr><td> sdaaaaaaa </td></tr></table></td ></tr></table >";

strStart="<table><tr><td>\\s*";
下面就是我想要取得的结果:
strTemp="ksf人"L<br >{*(^%*&:PROP"; //假设的一段字符串,是可变的

请用正则表达式判断实现,谢谢!
其实就是要判断出字符串已经取到</td> </tr></table>位置
...全文
197 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
图门的世界 2006-04-21
  • 打赏
  • 举报
回复
比较难
关键是你中间的字符串没什么限制
li_guang 2006-04-21
  • 打赏
  • 举报
回复
strEnd="<\/td >(|\\s+)<\/tr>(|\\s+)<\/table>"
yeno 2006-04-21
  • 打赏
  • 举报
回复
我的贴子怎么一下就沉下去了..
yeno 2006-04-21
  • 打赏
  • 举报
回复
顶一下才行,怎么没有会的人关注?
yeno 2006-04-21
  • 打赏
  • 举报
回复
感谢 humanity,你的这东东完全可以满足要求。

我已在测试更多的,结贴!
humanity 2006-04-21
  • 打赏
  • 举报
回复
这里有个 IDE , 测试 RegExp.

http://download.jgsoft.com/buddy/SetupRegexBuddyDemo.exe


用下面这个去 Split 试试看。你会发现还有空行或空白行,你再修改一下这个表达式让他自动去掉空白行。(最外面的括号也许是多余的)。

(<table[^>]*>(\s|\n)*<tr[^>]*><td[^>]*>(\s|\n)*|</td>(\s|\n)*</tr>(\s|\n)*</table>)
kyyzy 2006-04-20
  • 打赏
  • 举报
回复
replace("","") 替换掉可以不 ?
yeno 2006-04-20
  • 打赏
  • 举报
回复
呵呵,兄弟,不行,因为("</td></tr></table>")可能是
("</td ></tr></table>")
可能是
("</td></tr> </table>")
等....
必须以正则匹配,

不过倒可以用split,再来取的,但这种方法的效率...

我想如果能够直接用一个正则表达式搞定,多舒服....!!!
xt12822121 2006-04-20
  • 打赏
  • 举报
回复
用str.indexOf("</td></tr></table>")不就可以取到位置马?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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