日期:2014-05-17  浏览次数:20760 次

正则表达式 求高手帮忙解答一下
里程字符串=字母 数字+double类型数据

规则:字母大小写均可,限制在1-5位
  数字为整型 限制在1-5位 整数可为0
  +(加号) 在该里程字符串中必须有 且 在里程字符串中只能出现一个加号(+) 
  并且加号前面是整型数据,加号后面是double类型数据
  double类型数据 小数点前必须是3为数 可以有小数点 也可以没有小数点
  如果有小数点,小数点后为1-3位小数


符合规则合法数据:DK10+010、DK100+100、DK1+000.231、DK0+900、dsg1+999.233、DK100+100、dk0+900
不合法数据:DK1df100+100、好好100+91、DK100+010.、HGF111221+78686

------解决方案--------------------
Try:

^[a-zA-Z]{1,5}\d{1,5}\+\d{3}(\.\d{1,3})?$
------解决方案--------------------
探讨
引用:

C# code

^(?:[a-zA-Z]{1,5}\d{1,5}\+(\d{3}.\d{1,3}|\d{3}))$



您写的正则表达式 还是有一个小小的问题 +加号后面是double类型 可以有小数点 也可以没有小数点 如果没有小数点 那么它就是3位的整数 如果有小数点 小数点前面必须是3位数,小数点后面必须是1-3位数 dk100+28070 这个……