bug fix
This commit is contained in:
		
							parent
							
								
									a1281e544d
								
							
						
					
					
						commit
						09f125c0fe
					
				@ -13,7 +13,7 @@ func matchPeriodPattern01(base time.Time, str string) (startimer.StarTimer, erro
 | 
			
		||||
	str = transChn(str)
 | 
			
		||||
	var rpt startimer.Repeats
 | 
			
		||||
	var duration time.Duration
 | 
			
		||||
	reg := regexp.MustCompile(`(每隔|每)?(\d{0,4}年)?(\d{0,5}个?月)?(\d{0,4}[明后大]{0,4}[日号天])?([上中下午夜早凌清晨傍晚里]+)?(\d{1,4}个?[点小时钟:]+)?(\d{1,4}[分:])?(\d{1,10}秒?)?(后)?`)
 | 
			
		||||
	reg := regexp.MustCompile(`(每隔|每)?(\d{0,4}年)?(\d{0,5}个?月)?(\d{0,4}[明后大]{0,4}[日号天])?([上中下午夜早凌清晨傍晚里]+)?(\d{1,4}个?[点小时钟:]+)?(\d{0,4}[半分:]?[钟]?)?(\d{1,10}[秒]?[钟]?)?(后)?`)
 | 
			
		||||
	if reg.MatchString(str) {
 | 
			
		||||
		pts := reg.FindStringSubmatch(str)
 | 
			
		||||
		setAsDate := false
 | 
			
		||||
@ -113,6 +113,9 @@ func matchPeriodPattern01(base time.Time, str string) (startimer.StarTimer, erro
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		if pts[7] != "" {
 | 
			
		||||
			if pts[7] == "半" {
 | 
			
		||||
				pts[7] = "30"
 | 
			
		||||
			}
 | 
			
		||||
			if rpt.Every == setAsDate {
 | 
			
		||||
				rpt.Repeat = append(rpt.Repeat, startimer.Repeat{Unit: startimer.STAR_MINUTE, Value: uint32(getNumbers(pts[7]))})
 | 
			
		||||
			} else if rpt.Every && !setAsDate {
 | 
			
		||||
 | 
			
		||||
@ -9,7 +9,7 @@ import (
 | 
			
		||||
func TestParse(t *testing.T) {
 | 
			
		||||
	for _, code := range []string{"一个小时后告诉我事情", "三个小时后爱我", "每两个小时提醒我吃饭",
 | 
			
		||||
		"每五个月零二十五天三小时25分15秒告诉我时间", "5月23日上午3点24分12秒打我", "周五上午11点提醒我", "5时25分提醒我",
 | 
			
		||||
		"每周一到周五上午8点提醒我吃饭", "每天晚上8点提醒我吃饭", "每月16号晚上8点提醒我吃饭"} {
 | 
			
		||||
		"每周一到周五上午8点提醒我吃饭", "每天晚上8点提醒我吃饭", "每月16号晚上8点提醒我吃饭", "晚上8:30提醒我", "晚上八点半提醒我", "6分钟后提醒我"} {
 | 
			
		||||
		a, _ := WhenWithPeriod(code)
 | 
			
		||||
		//fmt.Println(a.Repeats()[0])
 | 
			
		||||
		fmt.Println(a.NextTimer(), a.RunCountLimit(), code)
 | 
			
		||||
@ -18,7 +18,7 @@ func TestParse(t *testing.T) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestSigParse(t *testing.T) {
 | 
			
		||||
	for _, code := range []string{"每月16号晚上8点提醒我吃饭"} {
 | 
			
		||||
	for _, code := range []string{"6分钟后提醒我"} {
 | 
			
		||||
		a, _ := WhenWithPeriod(code)
 | 
			
		||||
		//fmt.Println(a.Repeats()[0])
 | 
			
		||||
		fmt.Println(a.NextTimer(), a.RunCountLimit(), code)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user