1
2
3
4
5 package syntax_test
6
7 import (
8 "fmt"
9 "regexp/syntax"
10 )
11
12 func ExampleParse() {
13 re, err := syntax.Parse(`(go|lang)+`, syntax.Perl)
14 if err != nil {
15 panic(err)
16 }
17
18 fmt.Println("String:", re.String())
19 fmt.Println("Op:", re.Op)
20 fmt.Println("Sub expressions:", len(re.Sub))
21
22
23 var printTree func(*syntax.Regexp, string)
24 printTree = func(re *syntax.Regexp, indent string) {
25 fmt.Printf("%s%s: %s\n", indent, re.Op, re)
26 for _, sub := range re.Sub {
27 printTree(sub, indent+" ")
28 }
29 }
30 printTree(re, "")
31
32
33
34
35
36
37
38
39
40
41 }
42
View as plain text