func()

in internal/guestcollector/linux_guestcollector.go [291:315]


func (c *LinuxCollector) setUpRegex() {
	for _, field := range lshwFields() {
		if field == "size" {
			expression := fmt.Sprintf(`"%s" : (\d+?)[\D]`, field)
			reg := regexp.MustCompile(expression)
			c.lshwRegexMapping[field] = reg
		} else if field == "logicalname" || field == "product" {
			expression := fmt.Sprintf(`"%s" : "(.*?)"`, field)
			reg := regexp.MustCompile(expression)
			c.lshwRegexMapping[field] = reg
		} else if field == "Capacity" {
			expression := fmt.Sprintf(`%s: .*\((\d+?)[\D]`, field)
			reg := regexp.MustCompile(expression)
			c.lshwRegexMapping[field] = reg
		} else if field == "Device" {
			expression := fmt.Sprintf(`%s: "(.*?)"`, field)
			reg := regexp.MustCompile(expression)
			c.lshwRegexMapping[field] = reg
		} else {
			expression := fmt.Sprintf(`%s: ([^\s]+)`, field)
			reg := regexp.MustCompile(expression)
			c.lshwRegexMapping[field] = reg
		}
	}
}