« Back to Index

Go: REDACT tokens via regex pattern

View original Gist on GitHub

Tags: #go #regex

main.go

package main

import (
	"fmt"
	"regexp"
)

var (
	TokenRegEx     = regexp.MustCompile(`Token ([\w-]+)`)
	TokenFlagRegEx = regexp.MustCompile(`(-t|--token)(\s*=?\s*['"]?)([\w-]+)(['"]?)`)
)

func filterToken(input string) (inputFiltered string) {
	inputFiltered = TokenRegEx.ReplaceAllString(input, "Token REDACTED")
	inputFiltered = TokenFlagRegEx.ReplaceAllString(inputFiltered, "${1}${2}REDACTED${4}")
	return inputFiltered
}

func main() {
	fmt.Println(filterToken("Title:  Token aBcd1EF23g7HiJklmN4O_PQ5rS-6Tuv7_ expired at 2022-06-19T10:51:18Z"))
	fmt.Println("\n.........................................\n")
	fmt.Println(filterToken("-t aBcd1EF23g7HiJklmN4O_PQ5rS-6Tuv7_"))
	fmt.Println(filterToken("-t=aBcd1EF23g7HiJklmN4O_PQ5rS-6Tuv7_"))
	fmt.Println(filterToken("--token aBcd1EF23g7HiJklmN4O_PQ5rS-6Tuv7_"))
	fmt.Println(filterToken("--token=aBcd1EF23g7HiJklmN4O_PQ5rS-6Tuv7_"))
	fmt.Println(filterToken("--token 'aBcd1EF23g7HiJklmN4O_PQ5rS-6Tuv7_'"))
	fmt.Println(filterToken(`--token "aBcd1EF23g7HiJklmN4O_PQ5rS-6Tuv7_"`))
	fmt.Println(filterToken("--token='aBcd1EF23g7HiJklmN4O_PQ5rS-6Tuv7_'"))
	fmt.Println(filterToken(`--token="aBcd1EF23g7HiJklmN4O_PQ5rS-6Tuv7_"`))
	fmt.Println(filterToken("--token   aBcd1EF23g7HiJklmN4O_PQ5rS-6Tuv7_"))
	fmt.Println(filterToken("--token   aBcd1EF23g7HiJklmN4O_PQ5rS-6Tuv7_"))
	fmt.Println(filterToken("--token   'aBcd1EF23g7HiJklmN4O_PQ5rS-6Tuv7_'"))
	fmt.Println(filterToken(`--token   "aBcd1EF23g7HiJklmN4O_PQ5rS-6Tuv7_"`))
	fmt.Println(filterToken("-taBcd1EF23g7HiJklmN4O_PQ5rS-6Tuv7_"))
	fmt.Println(filterToken("--tokenaBcd1EF23g7HiJklmN4O_PQ5rS-6Tuv7_"))
	fmt.Println(filterToken("-t'aBcd1EF23g7HiJklmN4O_PQ5rS-6Tuv7_'"))
	fmt.Println(filterToken("--token'aBcd1EF23g7HiJklmN4O_PQ5rS-6Tuv7_'"))
	fmt.Println(filterToken(`-t"aBcd1EF23g7HiJklmN4O_PQ5rS-6Tuv7_"`))
	fmt.Println(filterToken(`--token"aBcd1EF23g7HiJklmN4O_PQ5rS-6Tuv7_"`))
	fmt.Println(filterToken("--token = aBcd1EF23g7HiJklmN4O_PQ5rS-6Tuv7_"))
}