4D v14.3Match regex |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
Match regex
|
Match regex ( padrao ; umaCadeia ; posiçao {; pos_encont ; compr_encont}{; *} ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
padrao | Texto |
![]() |
Expressão regular | |||||
umaCadeia | Texto |
![]() |
Cadeia na qual será realizada a pesquisa | |||||
posiçao | Inteiro longo |
![]() |
Posição em umaCadeia onde começa a pesquisa | |||||
pos_encont | Array inteiro longo, Variável inteiro longo |
![]() |
Posição da ocorrência | |||||
compr_encont | Array inteiro longo, Variável inteiro longo |
![]() |
Comprimento da ocorrência | |||||
* | Operador |
![]() |
Se passado, a função pesquisa apenas na posição indicada | |||||
Resultado | Booleano |
![]() |
True=pesquisa encontrou uma ocorrência, se não, False | |||||
Match regex ( padrao ; umaCadeia ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
padrao | Texto |
![]() |
Expressão regular (igualdade completa) | |||||
umaCadeia | Texto |
![]() |
Cadeia na qual será realizada a pesquisa | |||||
Resultado | Booleano |
![]() |
True = pesquisa encontrou uma ocorrência, se não, False | |||||
O comando Match regex permite provar a conformidade de uma cadeia de caracteres relativo a um conjunto de regras sintetizadas por meio de um metalinguagem chamado “expressão regular” ou “expressão racional.” A abreviação regex é comumente empregada para indicar estes tipos de notações.
Passe em padrao a expressão regular a procurar. Consiste em um conjunto de caracteres utilizado para descrever uma cadeia de caracteres, utilizando caracteres especiais.Para maior informação sobre a sintaxe das expressões regulares passadas no parâmetro padrao, consulte o seguinte endereço:
http://www.icu-project.org/userguide/regexp.html
Pesquisa de igualdade completa:
vencont:=Match regex(motivo;meutexto)
QUERY BY FORMULA([Empregados];Match regex(".*vargas.*";[Empregados]sobrenome))
Pesquisa no texto por posição:
vencont:=Match regex(motivo;meutexto;inicio;pos_encont;compr_encont)
Exemplo para mostrar todas as etiquetas de $1:
inicio:=1
Repeat
vencont:=Match regex("<.*>";$1;inicio;pos_encont;compr_encont)
If(vencont)
ALERT(Substring($1;<a href="#"title="Posição da ocorrência"class="rte4d_prm">pos_encont</a><gen9>;compr</gen9><span class="rte4d_prm">_encont</span><gen9>))
inicio:=pos_encont+compr_encont
End if
Until(Not(vencont))</gen9>
Pesquisa compatível com “grupos capturados” através de parênteses. ( ) são utilizadas para especificar grupos nos regex:
vencont:=Match regex(motivo;meutexto; inicio; pos_encont; compr_encont_array)
ARRAY LONGINT(pos_encont_array;0)
ARRAY LONGINT(compr_encont_array;0)
vencont:=Match regex("(.*)stuff(.*)";$1;1;pos_encont_array;compr_encont_array)
If(vencont)
$grupo1:=Substring($1;pos_encont_array{1};compr_encont_array{1})
$grupo2:=Substring($1;pos_encont_array{2};compr_encont_array{2})
End if
Pesquisa limitando a comparação do motivo a posição indicada:
Adicionar una estrela ao final de uma das duas sintaxes anteriores.
vencont:=Match regex("a.b";"---a-b---";1;$pos_encont;$compr_encont )
`devolve True
vencont:=Match regex("a.b";"---a-b---";1;$pos_encont;$compr_encont ;*)
`devolve False
vencont:=Match regex("a.b";"---a-b---";4;$pos_encont;$compr_encont ;*)
`devolve True
Nota: as posições e comprimentos retornados são significativos apenas em modo Unicode ou se o texto manipulado for de tipo ASCII 7-bits.
Em caso de erro, o comando gera um erro que pode interceptar através de um método instalado pelo comando ON ERR CALL.
Em caso de erro, o comando gera um erro que pode interceptar através de um método instalado pelo comando ON ERR CALL.
Produto: 4D
Tema: String
Número
1019
Criado por: 4D v11 SQL
Manual de linguagem 4D ( 4D v12.4)
Manual de linguagem 4D ( 4D v11 SQL Release 6)
Manual de linguagem 4D ( 4D v14 R3)
Manual de linguagem 4D ( 4D v14 R2)
Manual de linguagem 4D ( 4D v13.5)
Manual de linguagem 4D ( 4D v14.3)
Manual de linguagem 4D ( 4D v14 R4)