我需要一个正则表达式以两种格式匹配星期几:正常方式,例如“ mon”,“ fri”等,但是我还需要使用相同的正则表达式来表示范围类型的格式,例如“ mon -fri”
同一个月: “ jan”,“ feb” “ jan-dec”
我有这个工作的正则表达式:
^((jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)|((jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)-(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)))$
但是它很大,不确定是否理想。
答案 0 :(得分:1)
好吧,很遗憾,您没有列出您的语言,所以我认为一切正常。
(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)(?:-(?1))?
在捕获组中列出您的月份,然后使用(?1)
递归相同的子模式,并将其与破折号(?:-...)?
一起设置为可选
答案 1 :(得分:0)
^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)(-(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec))?$