首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

JavaScript正则表达式的替换有关问题

2012-04-04 
JavaScript正则表达式的替换问题我想用一个正则表达式来把 scriptlanuage JavaScript ..... /scrip

JavaScript正则表达式的替换问题
我想用一个正则表达式来把 <script   lanuage= "JavaScript "> ..... </script> 替换为空,但就是一直写不好,请大家指教

[解决办法]
\ <script(?: .+?)\> [\w\W]*?\ </script\>
[解决办法]
/ <script[^> ]*> [\s\S]*? <\/script> /g
[解决办法]
<script.*? </script> 里面有个换行就匹配失败了.....
[解决办法]
/ <script[^> ]*> [\s\S]*? <\/script> /g 效率最高而且适应各种情况
1楼的
<script
language= "javascript ">
...
</script>
或者
<script>
...
</script> 时就无法匹配
[解决办法]
/ <script[^> ]*> [\s\S]*? <\/script> /g
[解决办法]
gzdiablo() ( ) 信誉:100 Blog 2007-03-23 16:29:20 得分: 0
/ <script[^> ]*> [\s\S]*? <\/script> /g 效率最高而且适应各种情况
1楼的
<script
language= "javascript ">
...
</script>
或者
<script>
...
</script> 时就无法匹配


-------------

<script
language= "javascript ">
...
</script>
是无法匹配,那是我偷懒了

<script>
...
</script>
无法匹配?你看测试过了吗?

对于\ <script(?: .+?)\> 的写法我认为还是比较合理的,这指定了这个标签名必须是script,即script标签中如果有其它属性的话需加一个空格再列属性值.如
<script language= "jscript ">
这个空格是必须的
假如有一个用户自定义的标签 <script2> ,那么你的正则就会产生错误了.
[解决办法]
至于效率最高,适用所有情况云云
完全是自我感觉良好
[解决办法]
这个问题如果是IE5.5以后的版本建议写成
<script(?=[\s> ])[^> ]*> [\s\S]*? </script>
[解决办法]
再纠定你一个吧
/ <script[^> ]*> [\s\S]*? <\/script> /g
很明显的参数应该是ig
前面的我就不帮你改了
[解决办法]
这个问题如果是IE5.5以后的版本建议写成
<script(?=[\s> ])[^> ]*> [\s\S]*? </script>
--------
倒不如写成
<script(?:\s+.*?)> [\w\W]*? </script>
可读性好一点
[解决办法]
写漏了,应该是
<script(?:\s+.*?)?> [\w\W]*? </script>
[解决办法]
反而 <script> ... </script> 的情况出现的可能性 比 <script2> 出现的可能性要大得多
[解决办法]
一楼的写法确实有这问题

是我疏忽了
[解决办法]
呵呵,说了半天真是我的错


你的正则写的不错,但是对这个例子这也谈不上是十全十美的解决吧,而且我觉得你不大喜欢用非贪婪模式至于正则可读性下降了很多.

[解决办法]
你的表达式的确有可参考的部分 参考你的写法 我又写了一条
<script(?:\s[^> ]*)?> [\s\S]*? </script>

.*?是正则匹配中效率最低的而且不能匹配换行符 请尽量不要使用
贪婪匹配的效率高与非贪婪匹配 *效率高于 *? 请注意
所以使用[^> ]* 效率远高于.*? 在匹配整站网页代码的时候效率差距是很明显的

[\w\W]的确有与[\s\S]一样的效果 但[\s\S]效率稍微高于[\w\W]
因为\s只有空和换行2 种情况 而\w \W 所匹配的情况则非常多效率自然低很多


[解决办法]
<script.*?> (\n|\r|.)*? <\/script>
[解决办法]
gzdiablo() ( 五级(中级))是专门搞正则的吧,好象有个专业网站是你搞的??
[解决办法]
gzdiablo()的网址是多少?
[解决办法]
gzdiablo():
<script.*? </script> 里面有个换行就匹配失败了.....

-------------------------------------
不是还有一个m(multiline) 标志吗?

/ <script.*? <\/script> /igm

热点排行
Bad Request.