Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
scorch

[RegEx]Parse de uma linha

Recommended Posts

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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.