急求一个正则表达式,谢了~~~~

青松2 2013-09-24 08:03:09
检验一个字符串是否合法:
字符串只能是字母、数字和星号(星号代表任意匹配0--4个字符),最少6个字符(不包含星号),最多10个字符。字符串中如果有字母,只能是在最前三个位置。第一个只能是字母,第二个只能是一个是字符一个是数字,但是先后位置不固定。最后七位只能是数字。

谢谢了!

...全文
225 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zybjtu 2013-09-25
  • 打赏
  • 举报
回复
木有人怀疑楼主的相貌了么?
赵4老师 2013-09-25
  • 打赏
  • 举报
回复
提醒:解决string parse问题时,“正则表达式”不是万能的;而“有限状态自动机”是万能的。 参考《编译原理》中的词法分析和有限状态自动机。
xiye_jfb 2013-09-25
  • 打赏
  • 举报
回复
表达式: ^[a-zA-Z]([a-zA-Z]|\d)((?<=^[a-zA-Z]{2})\d|(?<=^[a-zA-Z]\d)[a-zA-Z])\d{3,7}$ 可以匹配: 1.字符个数在6-10个之间, 2.第一位必须字母, 3.第二位可以是字母或数字, 4.第三位如果第二位是字母第三位必须是数字,如果第二位是数字第三位必须为字母, 5.后面的全只能是数字"
  • 打赏
  • 举报
回复
(星号代表任意匹配0--4个字符) 这个没看懂...
幽狼 2013-09-24
  • 打赏
  • 举报
回复
昆仑道长 2013-09-24
  • 打赏
  • 举报
回复
楼主的题目完全没看懂,不过楼主我倒是一直惦记着.... 容我意淫一下,从给出的条件来看,匹配的顺序应该是字符个数是否满足--->是否有*号---->匹配前三个是否是字母--->匹配第二三个字符。且慢,最后七位只能是数字是神马意思? 如果字符串只有8个字符,而前三有两个字母岂不让人蛋疼......

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧