繁体   English   中英

压缩正则表达式以解析天

[英]Compact regular expression to parse days

我需要使用正则表达式来解析:“ Days:1,3,5”。 必须将所有天数分成不同的组。 我想出了以下表达式:

"Days:(\d?)[,]?(\d?)[,]?(\d?)[,]?(\d?)[,]?(\d?)[,]?(\d?)[,]?(\d?)[,]?"

问题是字符串上可能有31天。 有没有更紧凑的方式来重写此正则表达式?

您可以使用以下正则表达式:

Days:(\d+)|(\d+)

工作演示

然后,在第一组中,您获得第一天,在第二组中,您获得其他天。

在此处输入图片说明

您应该在此文档中查看“组和捕获”一章:

http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html#cg

没有比您定义的更多的组。 输入多长时间都没关系。 我建议您使用.split(“,”)将其放入数组中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM