package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)\[[+-]?([048]|\d*([02468][048]|[13579][26]))\]`)
var str = `"[+05620]" // 5620 is divisible by 4 (valid)
"[+05621]" // 5621 is not divisible by 4 (invalid)
"[-55622]" // -55622 is not divisible by 4 (invalid)
"[005623]" // 5623 invalid
"[005624]" // 5624 valid
"[-05628]" // valid
"[005632]" // valid
"[555636]" // valid
"[+05640]" // valid
"[005600]" // valid
"[8.04]" // invalid
"[8.00]" // valid
"[-0]"
"...may be [+002016] will be."
"[+05621]", "[-55622]",
"[005623]", "[~24]", "[8.04]",
"No, [2014] isn't a multiple of 4..."
"[0]"
"[4]"
"[8]"
"[12]"
"[16]"
"[20]"
"[24]"
"[28]"
"[32]"
"[36]"
"[40]"
"[44]"
"[48]"
"[52]"
"[56]"
"[60]"
"[64]"
"[68]"
"[72]"
"[76]"
"[80]"
"[84]"
"[88]"
"[92]"
"[96]"
"[100]"
"[104]"
"[108]"
"[112]"
"[116]"
"[120]"
"[124]"
"[128]"
"[1]"
"[2]"
"[3]"
"[5]"
"[6]"
"[7]"
"[9]"
"[10]"
"[11]"
"[13]"
"[14]"
"[15]"
"[17]"
"[18]"
"[19]"
"[21]"
"[22]"
"[23]"
"[25]"
"[26]"
"[27]"
"[29]"
"[30]"
"[31]"
"[33]"
"[34]"
"[35]"
"[37]"
"[38]"
"[39]"
"[41]"
"[42]"
"[43]"
"[45]"
"[46]"
"[47]"
"[49]"
"[50]"
"[51]"
"[53]"
"[54]"
"[55]"
"[57]"
"[58]"
"[59]"
"[61]"
"[62]"
"[63]"
"[65]"
"[66]"
"[67]"
"[69]"
"[70]"
"[71]"
"[73]"
"[74]"
"[75]"
"[77]"
"[78]"
"[79]"
"[81]"
"[82]"
"[83]"
"[85]"
"[86]"
"[87]"
"[89]"
"[90]"
"[91]"
"[93]"
"[94]"
"[95]"
"[97]"
"[98]"
"[99]"
"[101]"
"[102]"
"[103]"
"[105]"
"[106]"
"[107]"
"[109]"
"[110]"
"[111]"
"[113]"
"[114]"
"[115]"
"[117]"
"[118]"
"[119]"
"[121]"
"[122]"
"[123]"
"[125]"
"[126]"
"[127]"
"[129]"
0
4
8
12
16
20
24
28
32
36
40
44
48
52
56
60
64
68
72
76
80
84
88
92
96
100
104
108
112
116
120
124
128
1
2
3
5
6
7
9
10
11
13
14
15
17
18
19
21
22
23
25
26
27
29
30
31
33
34
35
37
38
39
41
42
43
45
46
47
49
50
51
53
54
55
57
58
59
61
62
63
65
66
67
69
70
71
73
74
75
77
78
79
81
82
83
85
86
87
89
90
91
93
94
95
97
98
99
101
102
103
105
106
107
109
110
111
113
114
115
117
118
119
121
122
123
125
126
127
129`
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/