您的位置:无忧脚本
» 残影
» 日志
正则出问题了,求解....谢谢
上一篇 /
下一篇 2008-08-27 16:11:33 / 天气: 舒适
/ 心情: 郁闷
查看( 125 ) /
评论( 5 )
CODE:
<html>
Us!s_qm}0
<body>
8j%fE%O+K"U1[T1nUCC0
<script>无忧脚本
Z!q;x3Qhx2J1G W
var str='11111111111111<MARQUEE id=mar width="90.09%">2222222222222222</MARQUEE>3333333333333333333333<MARQUEE id=mar width="90%">4444444444444</MARQUEE>';
opU7Z!n:oqZ
f0
document.write('替换前:'+str.replace(/</ig, '<').replace(/>/ig, '>'));
,v*|t7d9uD!`0
str = str.replace(/<MARQUEE.+width="([0-9]+|[0-9]+\.{0,1}[0-9]{1,2})%">(.*)<\/MARQUEE>/ig, '++$1+ $2 ++++');无忧脚本 i Q(zvY#~.D|P8w
document.write('<br><br>替换后:'+str);
3{
Q,C+[2jF(zw0
document.write('<br><br><font color=red>怎么不是我想要的" <b>11111111111111++90.09+2222222222222222++
i?(Z8X5sQL0+3333333333333333333333++90+4444444444444+++</b> "啊???? </font>');无忧脚本-d0u
kMy j
</script>
D yX!D?P9kK0
</body>无忧脚本-oJn@9L*`:dN,vH
</html>字符串:
$p.X`p"I&~b0
无忧脚本-@L$vq1o+O
11111111111111<MARQUEE id=mar width="90.09%">2222222222222222
2Rz*`{Mc*gb"Oe;M0</MARQUEE>3333333333333333333333<MARQUEE id=mar width="90%">4444444444444</MARQUEE>
)azw8G+Y;E0
7wB6|w
RF)A0
我想替换得到:
i u {$e Az2N0
无忧脚本y'{5dB;t8m~Z!r
11111111111111++90.09+2222222222222222+++3333333333333333333333++90+4444444444444+++
无忧脚本|L R&e'Y W
无忧脚本m4{;h#QG7S+}
弄了好久,始终得不到我想要的结果.......
xGH^$r$?4?@"`h0
无忧脚本"p a%y/Cj
[[I] 本帖最后由 yellky 于 2008-8-27 19:05 编辑 [/I]]
论坛模式
推荐
收藏
分享给好友
推荐到圈子
管理
TAG:
正则
-
zmm
发布于2008-08-27 16:49:28
-
CODE:
<script language="javascript">
var str='11111111111111<MARQUEE id=mar width="90.09%">2222222222222222</MARQUEE>3333333333333333333333<MARQUEE id=mar width="90%">4444444444444</MARQUEE>';
alert(str.replace(/<MAR[\S\s]+?([\d\.]+)[\S\s]*?>([\S\s]*?)<\/MARQUEE>/ig, '++$1+$2+++'));
</script>
-
yellky
发布于2008-08-27 18:14:28
-
回复 #2 zmm 的帖子
谢谢版主.....
9d$M.|D*k6w&l无忧脚本-//体验编写HTML代码的乐趣 - 51JS.COM S%MTAUt8Ih
ps: 谁能解释一下为什么-//体验编写HTML代码的乐趣 - 51JS.COMh(HHy.a1Z
I&e4f?3i,w,c)vP&x无忧脚本-//体验编写HTML代码的乐趣 - 51JS.COM/<MAR[\S\s]+?([\d\.]+)[\S\s]*?>([\S\s]*?)<\/MARQUEE>/ 可以正确的匹配www.51js.com$\!b0K0n;i)o
pmaU
h无忧脚本-//体验编写HTML代码的乐趣 - 51JS.COM而无忧脚本U
K,^{J0J$R
$N%n.i;Vf*p6t
/<MARQUEE.+width="([0-9]+|[0-9]+\.{0,1}[0-9]{1,2})%">(.*)<\/MARQUEE>/ 却匹配不正确
"?t&V-O|~{~无忧脚本,无忧,脚本,JavaScript,JS,HTML,DHTML,CSS,XML,XSL
9M Hc}#\&}无忧脚本么?无忧脚本-//体验编写HTML代码的乐趣 - 51JS.COM)T
v
C K|)U1?
-//体验编写HTML代码的乐趣 - 51JS.COM'\:^%\Kr4X#?b
因为我还有其他几个正则却出现了同样的问题.......
UHrE.Z无忧脚本,无忧,脚本,JavaScript,JS,HTML,DHTML,CSS,XML,XSL
h5Za$V'c~1y-//体验编写HTML代码的乐趣 - 51JS.COM谢谢!
-
campaign发布于2008-08-27 18:37:20
-
'11111111<MARQUEE id=mar width="90.09%">2222222222</MARQUEE>3333333333333<MARQUEE id=ma width="90%">4444444</MARQUEE>333333'.replace(/<M.*?([\d.]+).*?>(\d+)<.*?>/g,"++$1+$2+++")无忧脚本-//体验编写HTML代码的乐趣 - 51JS.COMw9E*\[h~
我也写了个www.51js.comf h9WG&tH
呵呵
[q @U9o7y~;^你的问题在于
7p#N+KZ`+b9TI-//体验编写HTML代码的乐趣 - 51JS.COM.+www.51js.com!F5[/l8K\eK? Y
你没有分清贪婪和惰性匹配
5l4xan6xR-s/B'VQwww.51js.com.+是贪婪,.+?是惰性
1Vqg*u;rK
HQ-//体验编写HTML代码的乐趣 - 51JS.COM举个例子-//体验编写HTML代码的乐趣 - 51JS.COM|jK#y)_ {O
var s = "abbbaabbbaaabbb"www.51js.comKO}5b(t `a*j0X
alert(s.match(/.*bbb/g)//贪婪abbbaabbbaaabbb只有一个
!v}W5d"dalert(s.match(/.*?bbb/g)//惰性会打出abbb,aabbb,aaabbbwww.51js.com#u['MJ4nk
因为贪婪是先比对整个字符串,abbbaabbbaaabbb一上来.*就是abbbaabbbaaa所以结束了比较,找到了-//体验编写HTML代码的乐趣 - 51JS.COML7O"^5~sYG!i)X
惰性是从头开始比较
N}(G(Yv4~a
:`Iox6^H_-//体验编写HTML代码的乐趣 - 51JS.COMab
1e+|H,\`(p;X7w%Os-//体验编写HTML代码的乐趣 - 51JS.COMabb无忧脚本-//体验编写HTML代码的乐趣 - 51JS.COM;d!h:i7v0PVfm
abbb 好找到了
CTK(Z \o^@无忧脚本,无忧,脚本,JavaScript,JS,HTML,DHTML,CSS,XML,XSL因为有g
O4@2v|\)E?www.51js.com所以开始下一次的比较
,q
zmK%e-//体验编写HTML代码的乐趣 - 51JS.COMa
,^@z*R2{4g无忧脚本aa
C2\(]%}8r*^v无忧脚本-//体验编写HTML代码的乐趣 - 51JS.COMaab
1`wP9N v+O|无忧脚本aabb无忧脚本,无忧,脚本,JavaScript,JS,HTML,DHTML,CSS,XML,XSL0LE{|6N1Ebg
aabbb好找到了
2d(gQ5Ro4B-XQ一次类推无忧脚本,无忧,脚本,JavaScript,JS,HTML,DHTML,CSS,XML,XSLzX.z7f)lo
找到了三个-//体验编写HTML代码的乐趣 - 51JS.COM8i%rX \;}
所以你的这个无忧脚本-//体验编写HTML代码的乐趣 - 51JS.COM7Vycn%tj:^x
只找到一次w3q(dfO(u
改成
(Ga'v9`\2G(B7Oh"xD无忧脚本-//体验编写HTML代码的乐趣 - 51JS.COM/<MARQUEE.+?width="([0-9]+|[0-9]+\.{0,1}[0-9]{1,2})%">(.*?)<\/MARQUEE>/无忧脚本,无忧,脚本,JavaScript,JS,HTML,DHTML,CSS,XML,XSLA3X Pr
Ot
ok了
-
yellky
发布于2008-08-27 19:04:55
-
回复 #4 campaign 的帖子
-//体验编写HTML代码的乐趣 - 51JS.COM)C1M1b*Awa,J
无忧脚本-//体验编写HTML代码的乐趣 - 51JS.COM
S8c,K:S^X A
非常感谢!!!7]_)VY!kb2zq'O
,u/gyh m7ku!c无忧脚本终于知道是怎么回事了....www.51js.com(V(\
hrmu
-//体验编写HTML代码的乐趣 - 51JS.COM
wSh3]1N7}
谢谢谢!!!!
-
yuguokai1发布于2008-08-27 20:54:30
-
3
234