# Regular Expressions (Regexes, Regexp)
{id: regular-expressions}

## Regexp
{id: regexp}


* [regexp](https://golang.org/pkg/regexp/)

![](examples/regex/regex.go)
![](examples/regex/regex.out)


## Regexp
{id: regex2}

![](examples/regex2/regex2.go)
![](examples/regex2/regex2.out)

## Regex nomatch
{id: regex-nomatch}

![](examples/regex-nomatch/regex_nomatch.go)
![](examples/regex-nomatch/regex_nomatch.out)

## Regex Markua include
{id: regex-markua-include}

![](examples/regex-markua-include/regex_markua_include.go)


## Exercise: Parse ini file
{id: exercise-parse-ini-file}

![](examples/parse-ini/data.ini)


## Exercise: parse hours log file and give report
{id: exercise-parse-hours-log-file}

The log file looks like this 

![](examples/parse-hours-log/timelog.log)

the report should look something like this: 

![](examples/parse-hours-log/timelog.txt)

## Solution: Parse ini file
{id: solution-parse-ini-file}

![](examples/parse-ini/parse_ini.go)
![](examples/parse-ini/parse_ini_test.go)

## Solution: parse hours log file and give report
{id: solution-parse-hours-log-file}

![](examples/parse-hours-log/parse_hours_log.go)



