怎么写这个正则表达式?

enjoynet 2010-05-28 11:13:07
如果我要匹配一个要么是3个数字要么是两个字母的表达式,如何写?哪位朋友能指点一二,不胜感激!
...全文
43 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
enjoynet 2010-05-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wuyazhe 的回复:]
\d表示数字 0~9
[]表示范围,可以用-符号修饰范围
[a-zA-Z]表示所有小写字母和大写字母
{n,m}表示重复次数,n是最少次数,m是最大次数,m可以省略不写,如果只有n则表示必须是多少次重复匹配
^表示字符串的开始,如果是多行模式表示行首
$表示字符串结束,如果多行模式表示行尾
()表示分组
(?:)表示取消分组,只表示括号内部为一个整体,可以用(?>)替代,结果一样。(……
[/Quote]
呵呵,懂了,再次感谢你的耐心讲解!
enjoynet 2010-05-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyazhe 的回复:]
^(?:\d{3}|[a-zA-Z]{2})$
[/Quote]
嗯,谢谢,你写的正则表达式能满足要求!
我想问一下的是前面那个“?:”有什么作用?
兔子-顾问 2010-05-28
  • 打赏
  • 举报
回复
\d表示数字 0~9
[]表示范围,可以用-符号修饰范围
[a-zA-Z]表示所有小写字母和大写字母
{n,m}表示重复次数,n是最少次数,m是最大次数,m可以省略不写,如果只有n则表示必须是多少次重复匹配
^表示字符串的开始,如果是多行模式表示行首
$表示字符串结束,如果多行模式表示行尾
()表示分组
(?:)表示取消分组,只表示括号内部为一个整体,可以用(?>)替代,结果一样。(?>)表示原子组。
兔子-顾问 2010-05-28
  • 打赏
  • 举报
回复
^(?:\d{3}|[a-zA-Z]{2})$

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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