背景
需求:将某个配置文件读取到字符串中,取出 client-certificate-data 和 client-key-data 这两个配置项的具体内容
- 文件形如
apiVersion: XXX
clusters:
- cluster:
certificate-authority-data: XXXX
server: XXXX
name: XXX
contexts:
- context:
cluster: XXX
user: XXX
name: XXX
current-context: XXX
kind: XXX
preferences: XXX
users:
- name: XXX
user:
client-certificate-data: XX
client-key-data: XXX
编码
// 使用正则表达式取出两个配置项目名称及内容:
// client-certificate-data: XX
// client-key-data: XXX
reg := regexp.MustCompile("(?m)[\r\n]+^ (client-certificate-data):.*$")
clientCertificateData := reg.FindString(output)
reg = regexp.MustCompile("(?m)[\r\n]+^ (client-key-data):.*$")
clientKeyData := reg.FindString(output)
// 使用正则表达式将每个配置项的后面内容取出
// XX
// XXX
reg = regexp.MustCompile("[^ ]+$")
crtEncode := reg.FindString(clientCertificateData)
keyEncode := reg.FindString(clientKeyData)