» 首页 » 电脑_数码 » 编程 » PHP中,按这个要求,这个正则表达式对吗?

PHP中,按这个要求,这个正则表达式对吗?

^[(a-z)|(A-Z)][\w]{2,9}$
要求:假定 Web 站点要求每个用户创建一个登录名。每个用户名至少要包含 3 个但不多于 10 个字母数字字符,并且必须以字母为开头。
语言环境:PHP
这个正则表达式对吗,能帮我分析下错在哪里?


楼主的方程^[(a-z)|(A-Z)][\w]{2,9}$
表示这样的字符串:以字母或者是以'('或者')'或者'|'开头接下来是2~9个单词字符。
应该是字符组出现了问题,在字符组里所有出现的字符都是并列关系所以就不需要'|'这个字符表示并列了。而且\w不需要在字符组里就可以表达单词字符的意思,在有的环境里[\w]表示字符'\'或者'w'。
可以改成:
^[a-zA-Z]\w{2,9}$
或者:
^([a-z]|[A-Z])\w{2,9}$
第一种效率高些。

楼主的方程^[(a-z)|(A-Z)][\w]{2,9}$
表示这样的字符串:以字母或者是以'('或者')'或者'|'开头接下来是2~9个单词字符。
应该是字符组出现了问题,在字符组里所有出现的字符都是并列关系所以就不需要'|'这个字符表示并列了。而且\w不需要在字符组里就可以表达单词字符的意思,在有的环境里[\w]表示字符'\'或者'w'。
可以改成:
^[a-zA-Z]\w{2,9}$
或者:
^([a-z]|[A-Z])\w{2,9}$
第一种效率高些。

 相关问题
·PHP中,按这个要求,这个正则表达式对吗?
·收不到数据包怎么办????????
·sql server 2000在哪搞命令行?怎么是视图化直接用鼠标搞...
·请问下面程序段执行完毕,c的值为多少?_____________
·什么是数据库?什么是表?如何建立数据库?
·请问高手,Sql Server 2000一个表最多可以有多少条记录
·求一个用asp和sql2005编写的简单登录页面的源码,多谢啦!
·重写以下的程序,将函数leisure改为友元
·language什么意思
·最伤感的语句
·关于dietinct和order by.
·visual studio.net中新建项目出错:The server name or ad...
·ASP截取字符传
·现在网上好多打字母验证码能赚钱的网赚可信吗?为什么打字...
·asp.net 程序占CPU资源的问题!急!

 《PHP中,按这个要求,这个正则表达式对吗?》答案收集时间:2008-06-14 14:32:02



©2007 电脑技术问答录