示例#1
0
文件: txtmsk.go 项目: ngc224/txtmsk
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
}
示例#2
0
文件: txtmsk.go 项目: ngc224/txtmsk
func TryMask(m *mask.Mask, text string) (string, error) {
	mText, err := inLineMask(m, text)

	if err != nil {
		return "", err
	}

	if mText != text {
		return mText, nil
	}

	mText, err = m.Mask(text)

	if err != nil {
		return "", err
	}

	return mText, nil
}
示例#3
0
文件: txtmsk.go 项目: ngc224/txtmsk
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
}