请问这样要求的正则表达式应该怎么写?

最近对输入需要正则匹配:
例如 输入只能是 60G, 1T 这样的前面是 数字,后面是容量单位的形式;
还有 60G/月; 50G/半年的 前面数字单位,后面也是单位的这种 控制需求;
请问类似的正则表达式应该怎么写? 谢谢

阅读 2.8k
3 个回答
/\d+[KMGT](\/(月|半年))?/

d+ 一个以上的数字
[KMGT] 单位的任意一个
(/(月|半年))? 可有可无的时间单位

'60G/半年'.match(/^\d+(G|T)(\/\W{1,2})?/g)//["60G/半年"]
'60G'.match(/^\d+(G|T)(\/\W{1,2})?/g)//["60G"]
'1T'.match(/^\d+(G|T)(\/\W{1,2})?/g)//

不是那么完美,仅供参考

/^\d+[KMGT](?:\/(?:月|半?年))?$/i
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题