求一个列车车次的正则表达式验证

chy018 2008-07-22 11:33:38
可以是一个或者多个车次,多个的话,中间用","或者"/"分开
如 “T271" 或者 "T271,1089,D35" 或者 "T271/T273,1089,D35,L28/L30"
每个车次长度为2-4位,只有第一位可以是(1-9)之间的数字或者(T,D,Z,N,A,L,Y)这几个字母中的一个(忽略大小写)。除第一位外,都必须是数字。
...全文
216 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
哈皮玩 2008-07-23
  • 打赏
  • 举报
回复

private void Validate(string str)
{
//引用 System.Text.RegularExpressions命名空间
Regex reg = new Regex(@"^(t|d|z|n|a|l|y|[1-9])\d{1,3}([,//](t|d|z|n|a|l|y|[1-9])\d{1,3})*$");
if (reg.IsMatch(str.ToLower()))
Console.WriteLine("Matching Success!");
else
Console.WriteLine("Matching Failed!");
}


如果你不把待验证字符串转化为小写,正则表达式内的t|d|...就要写成[Tt]|[Dd]...
symbol441 2008-07-23
  • 打赏
  • 举报
回复

([Tt]|[Dd]|[zZ]|[nN]|[aA]|[lL]|[yY]|[1-9])(\d){1,3}([/,]([Tt]|[Dd]|[zZ]|[nN]|[aA]|[lL]|[yY]|[1-9])(\d){1,3})*
symbol441 2008-07-23
  • 打赏
  • 举报
回复
试试

(?:[Tt]|[Dd]|[zZ]|[nN]|[aA]|[lL]|[yY]|[1-9])(?:\d){1,3}(?:[/,](?:[Tt]|[Dd]|[zZ]|[nN]|[aA]|[lL]|[yY]|[1-9])(?:\d){1,3})*

qyulang 2008-07-23
  • 打赏
  • 举报
回复
baidu or google
家鸣 2008-07-23
  • 打赏
  • 举报
回复
^((T|D|Z|N|A|L|Y|\d)(\d){1,3}(/|,)*)+$
家鸣 2008-07-23
  • 打赏
  • 举报
回复
(T|D|Z|N|A|L|Y|\d)(\d){1,3}
wdgphc 2008-07-23
  • 打赏
  • 举报
回复
((((T|D|Z|N|A|L|Y)(\d){1,3})|(\d){4})(\/|\,){0,1})*
wdgphc 2008-07-23
  • 打赏
  • 举报
回复
1楼肯定是错了,我再好好想想,抱歉.
wdgphc 2008-07-23
  • 打赏
  • 举报
回复
看着很容易,但我就是写不出来.
大概是不是

@(((T|D|Z|N|A|L|Y|\d)(\d){1,3}(/|,){0-1})*)

110,567

社区成员

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

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

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