func inLineUnMask(m *mask.Mask, text string) (string, error) { for _, v := range newInLineRegexp().FindAllStringSubmatch(text, -1) { umLine, err := m.UnMask(v[1]) if err != nil { continue } text = replaceInLine(text, v[0], umLine) } return text, nil }
func TryUnMask(m *mask.Mask, text string) (string, error) { umText, err := inLineUnMask(m, text) if err != nil { return "", err } if umText != text { return umText, nil } if !newInLineRegexp().MatchString(umText) { umText, err = m.UnMask(text) if err != nil { return "", err } } return umText, nil }