如何合并两个正则表达式的条件

myricemeli 2014-05-26 01:58:02
目前有两种字符串需要正则表达式验证:

1:

验证文本:A-10-05-02-004
正则表达式:([A,Z])(-)(\d{2})(-)(0[1-9]|1[0-2])(-)(\d{2})(-)(\d{3})

2:

验证文本:A-10-05-B-14-345
正则表达式:([A-Z])(-)(\d{2})(-)(0[1-9]|1[0-2])(-)(\d{2})(-B-)(\d{2})(-)(\d{3})

如何将这两种表达式合并到一起同时验证这两种条件?
...全文
1136 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
myricemeli 2014-05-27
  • 打赏
  • 举报
回复
3楼正确,感谢!!!
q107770540 2014-05-27
  • 打赏
  • 举报
回复
简化一下: [A-Z](-)\d{2}\1(0\d|1[0-2])\1(B-)?\d{2}\1\d{3}
q107770540 2014-05-27
  • 打赏
  • 举报
回复
([A-Z])(-)(\d{2})(-)(0[1-9]|1[0-2])(-)(\d{2})-(B-)?(\d{2})(-)(\d{3})
myricemeli 2014-05-27
  • 打赏
  • 举报
回复
引用 1 楼 rayyu1989 的回复:
([A-Z])(-)(\d{2})(-)(0[1-9]|1[0-2])(-)(\d{2})(-B-)?(\d{2})(-)(\d{3})
首先感谢楼上及时回复!!! 这个组合我之前试过,会产生如下结果: 当配套第一种结果时:A-89-09-0999-000 第三个数字会变成4位 配套第二种结果时当需要显示字母B必须在B的前面键入一个“-”字符。
rayyu1989 2014-05-26
  • 打赏
  • 举报
回复
([A-Z])(-)(\d{2})(-)(0[1-9]|1[0-2])(-)(\d{2})(-B-)?(\d{2})(-)(\d{3})

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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