Autor Tópico: [RESOLVIDO] Usar expressão regular no SC7  (Lida 1086 vezes)

alubale

  • Novato
  • *
  • Mensagens: 22
    • Email
[RESOLVIDO] Usar expressão regular no SC7
« Online: Maio 05, 2015, 10:11:57 am »
Pessoal, alguém sabe como usar expressões regulares no SC7? Quando coloco a expressao regular ele substitui a string da expressão regular por variaveis globais ou campos.

Ex:
$string = preg_replace("/[ÓÒÔÕÖ]/", "O", $string); // Esse me ferra por causa do "["

if( !(preg_match('/^[a-fA-F0-9]{12}$/',$string)){   // Esse me ferra por causa do "{12}"

Ja tentei jogar em método, biblioteca, mas nao adianta pois o SC sempre reescreve meu código.
Desesperado pois tenho muitos casos, esses são apenas alguns como exemplo. Sempre uso muito expressão regular pra validar campos.
« Última modificação: Maio 07, 2015, 11:55:43 am por alubale »
The future is now!!!

BobyTow

  • Novato
  • *
  • Mensagens: 15
    • Email
Re:Usar expressão regular no SC7
« Responder #1 Online: Maio 05, 2015, 10:13:28 am »
Estou com esse mesmo problema a algum tempo ... :(
I got this

Thyago Brasil

  • Expert
  • *****
  • Mensagens: 886
  • Crê no Senhor Jesus e será salvo tu e tua família
    • www.brasdesign.com.br
    • Email
Re:Usar expressão regular no SC7
« Responder #2 Online: Maio 05, 2015, 10:23:10 am »
Bom dia. Já tentou utilizar barra invertida "\" antes dos caracteres "[" e "]"?
Thyago Brasil
Desenvolvedor Web
Site: http://www.brasdesign.com.br

SC 5.02/SC 8.1

alubale

  • Novato
  • *
  • Mensagens: 22
    • Email
Re:Usar expressão regular no SC7
« Responder #3 Online: Maio 05, 2015, 10:53:07 am »
Já havia testado, porem testei novamente. No primeiro caso parou de criar a váriavel global, porem ferra com a validação da expressão, pois com o escape do colchete, o mesmo entra como caracter literal e nao como a sua função.
The future is now!!!

Haroldo

  • Expert
  • *****
  • Mensagens: 6274
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Usar expressão regular no SC7
« Responder #4 Online: Maio 05, 2015, 11:12:34 am »
tenta:

$string = preg_replace("/["."ÓÒÔÕÖ]/", "O", $string);

o mesmo vale para o outro código.

alubale

  • Novato
  • *
  • Mensagens: 22
    • Email
Re:Usar expressão regular no SC7
« Responder #5 Online: Maio 07, 2015, 11:54:11 am »
tenta:

$string = preg_replace("/["."ÓÒÔÕÖ]/", "O", $string);

o mesmo vale para o outro código.

Haroldo, parabens pela solução proposta, foi muito experto nisso e realmente funcionou pra todas strings. Muito bom
The future is now!!!

Ronyan Alves

  • Administrator
  • Avançado
  • *****
  • Mensagens: 353
Re:[RESOLVIDO] Usar expressão regular no SC7
« Responder #6 Online: Maio 08, 2015, 11:10:20 am »
Foi verificado a funcionalidade descrita, a utilização de colchetes gera a interpretação do scriptcase ( pois para o scriptcase tudo envolto de colchetes deveria ser uma variável global ).
Porém ao utilizar o código abaixo:

$string = 'ÓÒÔÕÖ';
$string = preg_replace("/["."ÓÒÔÕÖ]/", "O", $string);
echo "Com protecao -> ".$string;

Não ocorreu erro.

Porém, foi informado ao departamento de bugs para que seja verificado a funcionalidade ao utilizar esta função e seja corrigido a interpretação do código utilizado.
Para a utilização de { }, a proteção já foi realizada, utilizando aspas simples.

Obs.: Esta correção está presente na versão 8 do Scriptcase. Assim como a correção da utilização de [ ] , estará presente na versão 8 do Scriptcase.
Aconselho utilizar a medida alternativa de proteção informada acima, nas versões abaixo do Scriptcase 8.
--

Ronyan Alves
Equipe Scriptcase