那我来给大家找个话题吧,呵呵。js里使用正则表达式有两种方式:/.../和RegExp。通常情况下大家都是用/.../的方式的,直观、简洁。RegExp中因为某些字符在前面要加上一个\而显得有些累赘。不过,/.../要想这样用就有些困难了:/.../ + /.../ + /.../,这在表达式比较复杂,或者存在包含关系(例如Email地址中包含URL地址)时比较明显。而且,/.../的方式做注释也不方便,写出来的东西像天书般难懂。所以我觉得,用RegExp的方式来构造一个正则表达式更好一些。下面,大家开始吧。
var s="你好,[color=#FF0000]老同学,好久不见! [/color]"
var re=/\[color=([^\]]*)\]/
while(re.test(s))s=s.replace(re,"<font color=$1>")
s=s.replace(/\[\/color\]/g,"</font>")
//<font color=#000066>你好,<font color=FF0000>老同学</font>,好久不见! </font>
alert(s)
</script>高手们包括fason老大解释一下吧小弟感激……