I have a code sample,
sliceArgument := args[1] // should look like e.g. `[1:5]` or `[:5]` or `[1:]`
expression := "^\\[(?P<first>\\d*?):(?P<last>\\d*?)\\]$"
r := regexp.MustCompile(expression)
r.FindStringSubmatch(sliceArgument)
startEndArgumentList := r.SubexpNames()
if len(startEndArgumentList) >= 2 {
argMap[`first`] = startEndArgumentList[0]
argMap[`last`] = startEndArgumentList[1]
}
When I pass [1:5]
as args[1]
- I assume that SubexpNames will give me values of two groups. Instead SubexpNames
returns: '', 'first', 'last'
.
What is wrong here?