package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)((\d|:)+)\s(.+)`)
var str = `0:08 Waltz No. 2 (Dmitri Shostakovitch)
4:01 Dance of the Knights (Sergei Prokofiev)
9:42 Sabre Dance (Aram Khachaturian)
12:09 1812 Overture Finale (Pyotr Ilyich Tchaikovsky) (My Absolute Favorite One)
15:57 Flight of the Bumblebee "From The Tale of Tsar Sultan" (Nikolai Rimsky-Korsakov)
19:31 Rite of Spring Sacrifical Dance (Igor Stravinsky)
24:09 Piano Concerto No. 2 (Moderato) (Sergei Rachmaninoff)
34:22 Polovtsian Dances "From Prince Igor" (Alexander Borodin)
39:20 Etude Op. 8 No. 12 (Alexander Scriabin)
41:51 Sailors' Dance (Reinhold Gliere)
45:13 Dance of the Sugar Plum Fairy (Pyotr Ilylich Tchaikovsky)
47:46 Piano Concerto No. 1 (Allegro) (Pyotr Ilylich Tchaikovsky)
51:54 Ruslan and Lyudmila Overture (Mikhail Glinka)
54:51 Swan Lake Waltz (Pyotr Ilyich Tchaikovsky)
1:01:47 Dance of the Pagan Monster (Sergei Prokofiev)
1:05:01 Overture from the Children of Captain Grant (Isaak Dunaevsky)
1:08:52 Symphony No. 5 (Allegro Non Troppo) (Dmitri Shostakovitch) (My Favorite One)
1:12:00 Swan Theme (Pyotr Ilyich Tchaikovsky)
1:14:53 Night on Bald Mountain (Modest Mussorgsky)`
for i, match := range re.FindAllString(str, -1) {
fmt.Println(match, "found at index", i)
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Golang, please visit: https://golang.org/pkg/regexp/