package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?:Nr.\s*nota\s*Folha\s*Data\s*preg.o\n(?<numNota>\d+)\s*(?<numFolha>\d+)\s*(?<dataPregao>\d{2}\/\d{2}\/\d{4})\s*(?<corretora>.+)\n(?:1-BOVESPA\s*.*\n)+Resumo\s*dos\s*Neg.cios\s*)`)
var str = `Nr. nota Folha Data pregão
2807356 1 02/03/2020
CLEAR CORRETORA - GRUPO XP
1-BOVESPA C VISTA GERDAU METPN ED N1 100 8,00 800,00 D
1-BOVESPA C VISTA ITAUSAPN EDJ N1 200 12,10 2.420,00 D
1-BOVESPA C VISTA ITAUSAPN EDJ N1 D 500 12,00 6.000,00 D
1-BOVESPA V VISTA ITAUSAPN EDJ N1 D 100 12,11 1.211,00 C
1-BOVESPA V VISTA ITAUSAPN EDJ N1 D 100 12,11 1.211,00 C
Resumo dos Negócios
Debêntures 0,00
Vendas à vista 2.422,00
Compras à vista 9.220,00
Opções - compras 0,00
Opções - vendas 0,00
Operações à termo 0,00
Valor das oper. c/ títulos públ. (v. nom.) 0,00
Valor das operações 11.642,00
Resumo Financeiro
Clearing
Valor líquido das operações 6.798,00 D
Taxa de liquidação 2,83 D
Taxa de Registro 0,00 D
Total CBLC 6.800,83 D
Bolsa
Taxa de termo/opções 0,00 D
Taxa A.N.A. 0,00 D
Emolumentos 0,39 D
Total Bovespa / Soma 0,39 D
Custos Operacionais
""
Taxa Operacional 0,00 D
Execução 0,00
Taxa de Custódia 0,00
Impostos 0,00
I.R.R.F. s/ operações, base R$0,00 0,00
Outros 0,00 C
Total Custos / Despesas 0,00 D
Nr. nota Folha Data pregão
3408171 1 11/03/2020
CLEAR CORRETORA - GRUPO XP
1-BOVESPA C VISTA VIVER ON NM 100 1,79 179,00 D
Resumo dos Negócios
Debêntures 0,00
Vendas à vista 0,00
Compras à vista 179,00
Opções - compras 0,00
Opções - vendas 0,00
Operações à termo 0,00
Valor das oper. c/ títulos públ. (v. nom.) 0,00
Valor das operações 179,00
Resumo Financeiro
Clearing
Valor líquido das operações 179,00 D
Taxa de liquidação 0,04 D
Taxa de Registro 0,00 D
Total CBLC 179,04 D
Bolsa
Taxa de termo/opções 0,00 D
Taxa A.N.A. 0,00 D
Emolumentos 0,00 D
Total Bovespa / Soma 0,00 C
Custos Operacionais
""
Taxa Operacional 0,00 D
Execução 0,00
Taxa de Custódia 0,00
Impostos 0,00
I.R.R.F. s/ operações, base R$0,00 0,00
Outros 0,00 C
Total Custos / Despesas 0,00 D
`
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/