【www.gdgbn.com--正则表达式】

只写给新手的,各前辈就别来看我搬门弄斧了。hehe
经常看见有新手来问类似这样的话题,其实关于正则表达式我也不太懂。
昨天下午看了一下微软的正则表达式,少许理解。
今天也写个函数,只当实践,有误人之处请指点。
下面是一个实例:
原文是这样的:"test1 test2 test3 test4"
<script Language="VBScript">
Function RegExpTest(patrn, strng,rewho)
Dim Re,Match,Matches,RetStr
RetStr=strng
Set Re = New RegExp
Re.Pattern = patrn
Re.IgnoreCase = True
Re.Global = True
Set Matches = Re.Execute(RetStr)
For Each Match in Matches
Restr = ReStr & Match.Value& ","
RetStr=replace(RetStr,match.value,rewho)
Next
Restr=replace(Restr,"<","<")
Restr=replace(Restr,">",">")
RegExpTest = "这是原文:"&strng&"
这是被替换掉的:"&ReStr&"
这就是剩下的了:"&Retstr
End Function
document.write RegExpTest("(<[^{><}]*>)", "test1 test2 test3 test4","")
</script>
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
关键就在于<[^{><}]*>这个正则表达式,虽然很简单,但我还是我凭我浅浅理解,给大家说一下。
HTML标记是以小于号“<”开始,以大于号“>”,结束的。
所以这个正则表达式中的所有大于小于号都代表HTML标记,不是特殊字符。
“[”“]”方括号表达式中所包含的字符只匹配该括号表达式在正则表达式中
所处位置的一个单字符,我简单的理解为,它是匹配某位置的单个字符。
“^”标记是特殊符号,在方括号里面,后面跟的是列表字符,所以它的意思是
所有不在列表或范围中的字符。按我的理解他就相当于我们程序中的“NOT”
所以方括号中的^{><}的意思就是,这个单字符非大于或非小于号。
里面的大括号去掉其实也一样。大括号也是特殊字符

本文来源:http://www.gdgbn.com/aspjiaocheng/2977/