Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

scorch

[RegEx]Parse de uma linha

Mensagens Recomendadas

scorch

Boas,

Eu tenho um ficheiro, e faço parse dele linha-a-linha.

Depois de obter as linhas, queria saber se elas estão de acordo com a formatação adequada, e dividi-las.

Exemplos de linhas:

object.function("Olá")
function("xpto", "ss")
function()

Para já tenho a seguinte expressão para verificar, mas não funciona correctamente com todas as opções.

([a-zA-Z]+\.)?([a-zA-Z]+\("[^"\\\r\n]*(?:\\.[^"\\\r\n]*)*"\))

Queria também dividir, mas não sei como.

Queria dividido assim:

object //Se houver
function
Array:
          - "xpto"
          - "ss"


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
scorch

A primeira dúvida já funciona. Com esta expressão ele passa nos testes todos.

([a-zA-Z]+\.)?([a-zA-Z]+\(("[^"\\\r\n]*(?:\\.[^"\\\r\n]*)*")?(,( )?"[^"\\\r\n]*(?:\\.[^"\\\r\n]*)*")*?\))

Agora, queria saber se alguém me pode, pelo menos, dar uns links com tutorias sobre como dividir usando RegEx.

Já agora, com RegEx, só posso dividir uma string em duas, ou seria possível dividir um destes testes só com uma expressão RegEx?


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
scorch

VB.NET

Mas a minha dúvida é: como é que construo a expressão? Essa presumo que seja igual em todas as linguagens.


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
scorch

@yoda mas se puderes colocar como seria em PHP, eu depois desenrasco-me. :)


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.