Java⽤正则表达式判断学号,利⽤正则表达式验证学号_利⽤正
则表达式开发动态⽹页...时间正则表达式java
[摘 要]在动态⽹页设计中,利⽤正则表达式可以⾼效、快速地进⾏开发,本⽂探讨了在PHP中利⽤正则表达式进⾏url地址解析,密码和邮件验证以及⽂本⽂件的处理。 [关键词]正则表达式 PHP 动态⽹页
[中图分类号]TP[⽂献标识码]A[⽂章编号]1007-9416(2010)02-0052-02
1 正则表达式
正则表达式由美国数学家Stephen Kleene于1956年提出,主要⽤途是⽤来描述正则集代数。正则表达式提供了⼀种从字符集中搜寻特定字符串的机制,它让⽤户使⽤⼀系列的指定字符构建匹配模式,并将匹配模式与相应的数据⽂件、程序输⼊等⽬标对象进⾏⽐较,再根据⽐较的结果执⾏对应的程序。
正则表达式功能强⼤,具体⽽⾔,它有四⼤功能:查询、提取、分割、替换。这四⼤功能在动态⽹页开发中都得到了很好的应⽤。本⽂以PHP编程中的⽂本数据处理为例⼦,讨论正则表达式在动态⽹页中的应⽤。
2 PHP中的正则表达式
正则表达式是通过在⼀对分隔符之间放⼊表达式模式的各种组件来构造⼀个表达式,即/expression/。表达式由普通字符(例如字符a-z)和特殊字符(元字符)组成。普通字符指的是未显式指定为元字符的打印和⾮打印字符,包括所有的⼤⼩写字母、数字、标点符号等等。⽽特殊字符,即元字符,指的是⼀些具有特殊含义的字符,具体⽽⾔,主要有以下⼀些。
$符号。匹配输⼊字符串的结尾,例如abc$与“ddd abc”匹配,如果要匹配$字符本⾝,则要⽤\$,其它的元字符类似。
*符号。匹配前⾯的⼦表达式零次或多次,如ab*与“ab”,“abb”,“abbbbb”等都匹配。
+符号。匹配前⾯的⼦表达式⼀次或多次,如ab+与“abb”,“abbb”,“abbbbb”等匹配,但与“ab”不匹配。
(和)符号。⽤来标记⼀个⼦表达式的开始和结束位置,这个⼦表达式可以供以后使⽤。
.符号。匹配除换⾏符\n之外的任何单字符。如(.)+可以匹配除换⾏符外的所有字符串。
符号。匹配0或1个前⾯的字符,如abc可以⽽且只能匹配“abc”、“abbc”、“abcc”、“abbcc”。
|符号。匹配两项之间的⼀个,如a|b。匹配“a”或“b”,abc|xyz可匹配“abc”或“xyz”。
{n}。n必须是⼀个⾮负整数,匹配n次,例如,a{2}不能匹配“ba”,但能匹配“baa”。
{n,}。n必须是⼀个⾮负整数,它指的是匹配⾄少n次,例如,a{2,}不能匹配“ba”,但能匹配“baaaaaa”中的所有的a。
{n,m}。n和m必须都是⾮负整数,其中n 刘七,145,男,’喜欢篮球,⾜球’
将其它各记录的最后⼀个字段也加上单引号,以便于统⼀的处理。
由此可以得出分析某⾏⽂本的正则表达式为:
/,(?=([^’]*’[^’]*’)*(?![^’]*’))/
这个正则表达式⾸先⼀个引号,然后继续查,检查逗号后⾯的引号数量是不是偶数,或者为0。即如果逗号后⾯的单引号数量是偶数,则这个逗号位于字符串外⾯。
下⾯根据前⾯的正则表达式可以写出⼀个函数,接受⼀个字符串参数,根据这个字符串参数中的逗号分隔符,单引号限定符分割字符串,返回结果为数组。
function SplitStr($strRecord){
$pattern=”,(?=([^’]*’[^’]*’)*(?![^’]*’))”;
$result=preg_split($pattern,$strRecord);
return $result;
}
除了处理结构化⽂本外,正则表达式在动态⽹页开发中,还经常⽤于对查某此字符串,并对这些字符串作突出显⽰等。
例如,对某⼀段⽂本中的所有“PHP”单词进⾏突出显⽰,相关函数可以是:
function replaceStr($text){
$pattern=”\s+PHP\b”;
$aim=”$0”;
$newText=preg_replace($pattern, $aim,$text);
return $newText;
}
这⾥的正则表达式是在PHP作为⼀个单独的单词出现时,将它突出显⽰,函数返回的就是对应的⽂本。在动态⽹页设计中,利⽤这种搜索与替换功能,能够⽅便地为⽹站搜索程序加上突出显⽰关键词的功能,将这个例⼦进⼀步完善,也可以⾃动为⽹页中的某些关键词加⼊指向其它⽹页的超级链接或直接成为某⼀个搜索引擎的关键词。
4 结语
⽤正则表达式处理⽂本⽂件具有快速、⾃动的优点,能够节约⼤量的时间,在动态⽹页设计中灵活运⽤这⼀功能可以⼤⼤提⾼⼯作的效率。所以掌握正则表达式的运⽤是动态⽹页设计的重要能⼒。
[参考⽂献]
[1] 杜冬梅,许彩欣,苏健.浅谈正则表达式在web系统中的应⽤[J].计算机系统应⽤,2007,(8):87-90.
[2] 祈鸣鸣.浅析asp技术在动态⽹页技术中的应⽤[J].计算机与信息技术,2007,(18):67.
[3] 李昱,陈和平.正则表达式在数据库查询中的应⽤[J].计算机⼯程与设计,2006,(6):2303-2305.
[4] 张长富,黄中敏.javascript动态⽹页编程实例⼿册[M].海洋出版社,2005.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论