Java SimpleDateFormat 模式的正则表达式(可能特定于出生)
Java SimpleDateFormat
模式的良好正则表达式是什么?
故事:我在使用 DateTimeFormatValue 设置 Eclipse 出生日期格式模式时遇到问题,没有例外(仅限 QA 反馈)。 因此,eclipse birt 的文档表明它们确实支持 SimpleDateFormat,因为我的应用程序中的模式是由用户输入预定义的,我需要一些正则表达式检查......仅检查正确的符号还不够。 (<代码>"^[y|M|m|h|G|z|s|d|(at)|(aaa)|E|\\.|\\:|\\'|\\/|\ \,|\\ ]*$")
有什么想法吗? 谢谢你!
What is a good regex fo Java SimpleDateFormat
pattern?
Story: I have problem with setting eclipse birth date format patter with DateTimeFormatValue, no exceptions(feedback form QA only).
So, the eclipse birt by it's documentation says that they do support SimpleDateFormat, as because pattern in my application is predefined by user unput, I need some regex check for.. checking only right symbols just no enough. ("^[y|M|m|h|G|z|s|d|(at)|(aaa)|E|\\.|\\:|\\'|\\/|\\,|\\ ]*$"
)
Any ideas?
Thank you!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果可能的话,我不会在单个正则表达式中解决这个问题。您应该拆分用户的输入。例如:
YYYY.mm.DD
拆分为[YYYY],[.],[mm],[.],[DD]
。现在您可以检查每个组是否对您的目的有效。
当您谈到出生年份时,您不允许使用
hh:mm.ss
或年份等。这允许您向用户提供响应,例如:“缺少年份定义”或“时间不允许”。
I would, if possible, not solve this in a single Regex. You should split the user's input. Eg:
YYYY.mm.DD
split into[YYYY],[.],[mm],[.],[DD]
.Now you may check each group if its valid for your purpose.
As you speak of Year of birth, you would not allow the
hh:mm.ss
or Day of year etc.This allows you to give the user a response, e.g.: "Year definition is missing" or "Hours are not allowed".