func (ep Episode) IsAfter(episode Episode) bool {
	return ep.Season > episode.Season ||
		(ep.Season == episode.Season && ep.Episode > episode.Episode)
}
IsAfter returns true if this episode is sequentially after the given episode.
package series
import (
	"fmt"
	"regexp"
	"strconv"
	"strings"
	"time"
)
type Episode struct {
	Season  uint       `toml:"season" json:"season"`
	Episode uint       `toml:"episode" json:"episode"`
	Title   string     `toml:"title" json:"title"`
	Aired   *time.Time `toml:"aired" json:"aired"`
}
func ParseEpisodeString(episodeStr string) Episode {
	episode := Episode{Season: 1, Episode: 1}
	episodeStr = strings.ToLower(episodeStr)
	r, _ := regexp.Compile(`(?:\s*|\d*)(?:s|se|season)\s*(\d+)`)
	m := r.FindStringSubmatch(episodeStr)
	if len(m) > 0 {
		s, _ := strconv.Atoi(m[1])
		episode.Season = uint(s)
	}
	r, _ = regexp.Compile(`(?:\s+|\d+)(?:e|ep|episode)\s*(\d+)`)
	m = r.FindStringSubmatch(episodeStr)
	if len(m) > 0 {
		e, _ := strconv.Atoi(m[1])
		episode.Episode = uint(e)
	}
	return episode
}