pregFind
Diz se uma expressão regular casa com uma string.
Sintaxe
Seção intitulada “Sintaxe”bool pregFind ( string texto, string padrao [, int/string flags = 0 ] )Parâmetros
Seção intitulada “Parâmetros”| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
texto | string | — | Texto onde procurar. Um número vira texto. |
padrao | string | — | Expressão regular. |
flags | int ou string | 0 | Opções de busca — veja abaixo. |
O argumento flags é um número — a soma dos bits abaixo — ou uma string com as letras:
| Letra | Bit | Efeito |
|---|---|---|
i | 1 | Não diferencia maiúsculas de minúsculas. |
m | 2 | Multilinha: ^ e $ também casam nas quebras de linha. |
d | 4 | Dot-all: . também casa com uma quebra de linha. |
e | 8 | Estendido: espaços e comentários # dentro do padrão são ignorados. |
u | 16 | UTF-8: padrão e texto são lidos como UTF-8, e \w, \d e afins seguem o Unicode. |
Uma string com qualquer outra letra registra Bad usage @ '<função>' [Flags all wrong] e a chamada devolve false; um número negativo também. Qualquer outro tipo — nil, um booleano — significa sem flags.
Retorno
Seção intitulada “Retorno”true se o padrão casa em algum ponto de texto, false caso contrário. Um padrão que não compila também dá false, sem aviso. Um argumento inválido registra um aviso e devolve false.
Os padrões usam a sintaxe do PCRE2. Cada busca tem um teto fixo de trabalho de backtracking, então um padrão patológico para de casar em vez de travar o script.
Exemplo
Seção intitulada “Exemplo”addEventHandler("onPlayerChangeNick", root, function(apelidoAntigo, apelidoNovo) if not pregFind(apelidoNovo, "^[a-z0-9_]{3,16}$", "i") then cancelEvent() outputChatBox("Apelidos: de 3 a 16 letras, dígitos ou _", source) endend)Veja também
Seção intitulada “Veja também”getUserdataType— Diz que tipo de handle um userdata é.pregMatch— Junta todas as ocorrências de uma expressão regular.pregReplace— Substitui todas as ocorrências de uma expressão regular.