use strict;
my $str = 'e R$ \'+FormatFloat(\'#,##0.00\', valorPercentual )
else
FieldByName(\'InstrucoesMultaVencimento\').Value := \'\';
end;
if oCDS_CONVENIOBANCARIOCOBREBEMPROP.Locate(\'CBC_NOMEPROPRIEDADE\',\'InstrucoesDiasProtesto\',[]) then begin
AlteraDescricaoInstrucao := oCDS_CONVENIOBANCARIOCOBREBEMPROP.FieldByName(\'CBC_VALORPROPRIEDADE\').AsString;
AlteraDescricaoInstrucao := StringReplace( AlteraDescricaoInstrucao,\'#DIA#\', FloatToStr(oCds_ConvenioBanco.FieldByName(\'CBP_PROTESTODIAS\').AsFloat),[rfReplaceAll, rfIgnoreCase]);
FieldByName(\'InstrucoesDiasProtesto\').Value := AlteraDescricaoInstrucao;
end else begin
if ( oCds_ConvenioBanco.FieldByName(\'CBP_PROTESTODIAS\').AsFloat > 0 ) then
FieldByName(\'InstrucoesDiasProtesto\').Value := \'Após \'+IntToStr(oCds_ConvenioBanco.FieldByName(\'CBP_PROTESTODIAS\').AsInteger)+\' dias do vencimento protestar\'
else
FieldByName(\'InstrucoesDiasProtesto\').Value := \'\'; end;
if ( oCds_ConvenioBanco.FieldByName(\'CBP_CALCULAVALORJURO\').AsString = \'P\' ) then
valorJuroDiario := ( ( BoletoBancario.ConvenioBancario.ValorDocumento * oCds_ConvenioBanco.FieldByName(\'CBP_PERCENTUALJUROSDIARIO\').AsFloat) / 100)
else
valorJuroDiario := oCds_ConvenioBanco.FieldByName(\'CBP_PERCENTUALJUROSDIARIO\').AsFloat;
if oCDS_CONVENIOBANCARIOCOBREBEMPROP.Locate(\'CBC_NOMEPROPRIEDADE\',\'InstrucoesJurosDiario\',[]) then
FieldByName(\'InstrucoesJurosDiario\').Value := oCDS_CONVENIOBANCARIOCOBREBEMPROP.FieldByName(\'CBC_VALORPROPRIEDADE\').AsString
else begin
if ( oCds_ConvenioBanco.FieldByName(\'CBP_PERCENTUALJUROSDIARIO\').AsFloat > 0 ) then
FieldByName(\'InstrucoesJurosDiario\').Value := \'Após vencimento cobrar juros de R$ \'+FormatFloat(\'#,##0.00\', valorJuroDiario)+\' por dia de atraso.\'
else
FieldByName(\'InstrucoesJurosDiario\').Value := \'\'
end;
if ( BoletoBancario.ConvenioBancario.OutrasInstrucoes <> \'\' ) then
OutrasIntrucoes := oCds_ConvenioBanco.FieldByName(\'CBB_OUTRASINSTRUCOES\').AsString
else
OutrasIntrucoes := \'\';
if ( NumeroNFSe <> \'SemNumero\' ) then{#T31720}
OutrasIntrucoes := OutrasIntrucoes + \'Boleto ref. a Notas: \' + NumeroNFSe; // NumeroNF; {#T31549}
if ( NumeroNF <> \'SemNumero\' ) then begin{#T31720}
if ( OutrasIntrucoes <> \'\') then begin
OutrasIntrucoes := OutrasIntrucoes+#13#10+ \'RPS: \' + NumeroNF; // NumeroNFSe; {#T31549}
end else
OutrasIntrucoes := \'Boleto ref. a RPS: \' + NumeroNF; // NumeroNFSe; {#T31549}
end;varToStr( copy( BoletoBancario.ConvenioBancario.NumeroContaCorrente, Length(BoletoBancario.ConvenioBancario.NumeroContaCorrente), 1));
FieldByName(\'NomeSacado\').Value := IntToStr(BoletoBancario.CodigoCliente)+\' - \'+BoletoBancario.NomeCliente;
FieldByName(\'RuaSacado\').Value := oCds_TitulosSelecionados.FieldByName(\'CLN_ENDERECO\').AsString+\', Nº \'+
oCds_TitulosSelecionados.FieldByName(\'CLN_NUMERO\').AsString;
cepCliente := FormatMaskText(\'99999-999;0;\', oCds_TitulosSelecionados.FieldByName(\'CEP_CEP\').AsString);
FieldByName(\'CidadeEstadoCep\').Value := cepCliente+\' \'+
BoletoBancario.CidadeCliente+\'-\'+
BoletoBancario.EstadoCliente;
Carteira := Codig';
my $regex = qr/(?:\'\,\[\]\)\d{0,10}\ then\ begin\s?)^(.*?)\bend;/msp;
if ( $str =~ /$regex/g ) {
print "Whole match is ${^MATCH} and its start/end positions can be obtained via \$-[0] and \$+[0]\n";
# print "Capture Group 1 is $1 and its start/end positions can be obtained via \$-[1] and \$+[1]\n";
# print "Capture Group 2 is $2 ... and so on\n";
}
# ${^POSTMATCH} and ${^PREMATCH} are also available with the use of '/p'
# Named capture groups can be called via $+{name}
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 Perl, please visit: http://perldoc.perl.org/perlre.html