« 上一篇下一篇 »

正则表达式在智能表单中的应用

所谓正则表达式,在计算机科学中是指一个用来描述或者匹配一系列符合某个句法规则字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。在智能表单应用程序中,正则表达式至少有两种用途。一种是在顾客的反馈中查找特定的名词。使用正则表达式,可以做的更智能一些。使用一个字符串函数,如果希望匹配“shop”、“customer service“或”retail“,就必须做3次不同的搜索。如果使用一个正则表达式,就可以同时匹配所有3个.

        所谓正则表达式,在计算机科学中是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。

       在智能表单应用程序中,正则表达式至少有两种用途。一种是在顾客的反馈中查找特定的名词。使用正则表达式,可以做的更智能一些。使用一个字符串函数,如果希望匹配“shop”、“customer service“或”retail“,就必须做3次不同的搜索。如果使用一个正则表达式,就可以同时匹配所有3个,如下所示:

       Shop\customer service\retail

       第二个用途是验证程序中用户的电子邮件地址,这需要通过用正则表达式来对电子邮件地址的标准格式进行编码。这个格式中包含一些数字或标点符号,接着是符号“@”。然后是包括文字或数字和字符组成的字符串,后面接着是一个“.”(点号),后面包括文字或数字以连字符组成的字符串,可能还有很多得点号,直到字符串结束,它的编码如:

        ^[a-za-z0-9-\-.]+@[a-za-z0-9\-]+\.[a-za-z0-9\-.]+$

       字表达式^[a-zA-Z0-9-\-.]+表示“至少由一个字母、数字、下滑线、连字符、点号或者这些字符组合为开始的字符串”。请注意,当在一个字符类的开始或末尾处使用点号时,点号将失去特殊通配符的意义,只能成为一个点号字符。

       符号“@”匹配字符“@”。

       而字表达式[a-zA-Z0-9\-]+与包含文字数字字符和连字符的主机名匹配。请注意,我们除去了来连字符,因为它是方括号内的特殊字符。

       字符组合“\.”匹配“.”字符。我们在字符类外不使用点号,因此必须对其转义,使其能够匹配一个点字符。

       子表达式[a-zA-Z0-9\-\.]+$匹配域名的剩下部分,它包含字母、数字、和连字符,如果需要还可包含更多的点号直到字符串的末尾。

       不难发现,有时一个无效的电子邮件地址也会符合这个正则表达式。找到所有无效电子邮件几乎是不可能的,但经过分析,情形将会有所改善。可以按许多不同的方式精化这个表达式。如:可以列出所有有效的顶级域(TLD)。党对某些对象进行限制的时候,请千万小心,因为可能排斥1%的有效数据的校验函数比允许出现10%的无效数据的校验函数还要麻烦。

« 上一篇下一篇 »