正则表达式: 最短匹配问题

AllCHN 2010-05-22 06:33:53
加精
设定要从一个字符串中查找到最短匹配:
比如: 字符串为 "<Font color=red>红色字<font color=blue>蓝色字</font>红色字结束</font>"
现在要查找到以真正匹配的 font 标记对,就需要用最短匹配,
即为找到: <font color=blue>蓝色字</font>
也就是: 以 "<font" 开头, 以 "</font>" 结束的最短匹配

用循环的方法肯定可以找到,
我也找到了一种相对复杂的正则表达式方法(单表达式),
看看大家能不能提出采用单一表达式的更好的方法、更有效的方法。
...全文
6326 221 打赏 收藏 转发到动态 举报
写回复
用AI写文章
221 条回复
切换为时间正序
请发表友善的回复…
发表回复
snakedante 2013-02-03
  • 打赏
  • 举报
回复
学习下 最近在看PYTHON。。
landsprings 2013-01-11
  • 打赏
  • 举报
回复
发现要学习的地方还很多啊
bugs2k 2013-01-11
  • 打赏
  • 举报
回复
$a = "<Font color=red>红色字<font color=blue>蓝色字X</font>红色字<Font color=red><div>红色</div>字X</font>红色字结束</font>";
@b = ($a =~ /(<font(?:(?!<font).)*?<\/font>)/ig);
liunan0952 2012-04-25
  • 打赏
  • 举报
回复
没有听明白lz的意思。。
xiezechang 2010-06-01
  • 打赏
  • 举报
回复
正则表达式确实很牛叉啊~
feiyu8607 2010-06-01
  • 打赏
  • 举报
回复
都是牛人啊!!
kyf456 2010-06-01
  • 打赏
  • 举报
回复
<(font)[^>]*>[^<]*<\/\1>
观弈道童 2010-06-01
  • 打赏
  • 举报
回复
是不是哦
badlinhoho 2010-05-31
  • 打赏
  • 举报
回复
我来深度学习!!!!!!!!!!!
net205 2010-05-31
  • 打赏
  • 举报
回复
收藏学习
wofa1648 2010-05-31
  • 打赏
  • 举报
回复
不错,学到东西了
Xiaoyu138 2010-05-31
  • 打赏
  • 举报
回复
顶了 菜鸟学习中
CyberLogix 2010-05-31
  • 打赏
  • 举报
回复
呵呵,不错 啊
t316562725 2010-05-31
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分!
tomlizx 2010-05-31
  • 打赏
  • 举报
回复
大公司,考的算法?
kekeyifan 2010-05-31
  • 打赏
  • 举报
回复
正则 不懂中 在学习 。。。。。。
zenmehaishini 2010-05-30
  • 打赏
  • 举报
回复
想要积分
kelvinsoft 2010-05-30
  • 打赏
  • 举报
回复
up ! up ! up
youzhagui2006 2010-05-30
  • 打赏
  • 举报
回复
学习1111
hhz_lavender 2010-05-30
  • 打赏
  • 举报
回复
学习了,之前还真没注意到这方面的问题
加载更多回复(190)

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

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