正则表达式在UBB论坛中的应用(1)

一、读者指引

读者指引帮助你掌握本文的梗概。以免你看了大半才明白这编文章不适合你,给你造成视觉污染。

如果你正在用ASP写程序,或者你正在写一些诸如BBS、留言溥或表单数据检查之类的东东那就值得一看。

如果你对正则表达式已经了如指掌,那么你不必一行行的看,只要看看我写的模板,再比较一下,取其精华就行了。

如果你还是第一次接触正则表达式,那么你最好一行行的看,并逐条试验

当你熟练的掌握了正则表达式的用法,你就会发现其乐无穷。

二、正则表达式的概念

什么是UBB代码?什么是正则表达式?

UBB代码是HTML的一个变种。一般情况下,UBB论坛不允许你使用HTML代码,而只能用UBB代码替代HTML代码。

UBB代码是一套由流行的UBB标签组成了固定代码,代码有统一的格式。用户只要遵循代码规则就可以实现用户想要的功能。如:

想要显示粗体的how are you 字样,就应该输入 how are you而不是输入bhow are
you/b

你也许会问:ASP是怎样把 how are you转换为bhow are you/b的呢?

回答这个问题就是:用正则表达式。

三、正则表达式的用途

有时我们在制作网站表单数据处理的时候,都需要进行数据验证和字符串替代,特别是UBB论坛要进行大量的数据安全性和字符串替代

邮于一般的论坛不支持HTML语法这就使得用户不能修改字体,不能贴图等等一些功能。这样使得论坛失去了吸引用户的一个强有力的途径。可能说一个强大的论坛在吸引用户数量上还是很重要的。这样就出现了一个UBB解决方案,即在论坛不支持HTML语法的情况下用户仍然可以定制自已贴子的样式,贴图,增加链接,转贴网页等等诸多的功能,可能达到支持HTML语法同样的效果,而且这样可以使得论坛相对于HTML的论坛安全性大大提高。用户基本不能对论坛过行任何恶意攻击。

四、正则表达式的语法规则和标记

现在我们正式进入则表达式的学习,我会根据实例结合讲解正则表达式的用法,看完后你就会觉得写UBB代码如此简单了,只要你一步一步的跟着我学
看完本文章后你就成为UBB高手了。激动人心的就是你能写出自已的UBB标签来了,再也不用到别人那里去拷贝现成的代码和模板了。
还好VBScritp5.0给我们提供了正则表达式对象,只要你的服务器安装了IE5.x,就可以运行了.

字符描述:

^符号匹配字符串的开头。例如:

^abc 与abc xyz匹配,而不与xyz abc匹配

$符号匹配字符串的结尾。例如:

abc$ 与xyz abc匹配,而不与abc xyz匹配。

注意:如果同时使用^符号和$符号,将进行精确匹配。例如:

^abc$ 只与abc匹配

*符号匹配0个或多个前面的字符。例如:

ab* 可以匹配ab、abb、abbb等

+符号匹配至少一个前面的字符。例如:

ab+ 可以匹配abb、abbb等,但不匹配ab。

?符号匹配0个或1个前面的字符。例如:

ab?c? 可以且只能匹配abc、abbc、abcc和abbcc

.符号匹配除换行符以外的任何字符。例如:

(.)+ 匹配除换行符以外的所有字符串

x|y匹配x或y。例如:

abc|xyz 可匹配 abc或 xyz,而ab(c|x)yz匹配 abcyz和abxyz

{n}匹配恰好n次前面的字符。例如:

a{2} 可以匹配aa,但不匹配a

{n,}匹配至少n次前面的字符。例如:

a{3,} 匹配aaa、aaaa等,但不匹配a和aa。

注意:a{1,}等价于a+

a{0,}等价于a*

{m,n}匹配至少m个,至多n个前面的字符。例如:

发表评论

电子邮件地址不会被公开。 必填项已用*标注