expressões regulares alternativa? [RESOLVIDO]

14 respostas
P

Pessoal,

Qual melhor alternativa de expressões regulares? algo que faça igual ou melhor que ela.

Eu tenho dados recebidos de porta serial, e eu quero pegar a sequência de palavras e pegar o valor.

Por exemplo vai vir a palavra “carro”, ai quero usar algo para pegar a palavra “carro” para eu setar em alguma variável. Pois vai ficar lendo o buffer da porta serial.

14 Respostas

Hebert_Coelho

Por que não usar expressão regular?

P

É que estou tendo que criar um novo sistema baseado em um antigo, e por medidas de precaução para evitar processos citando plágios e tal, estou refazendo tudo diferente, e queria tentar usar algo diferente para evitar isso.

Hebert_Coelho

Pacato:
É que estou tendo que criar um novo sistema baseado em um antigo, e por medidas de precaução para evitar processos citando plágios e tal, estou refazendo tudo diferente, e queria tentar usar algo diferente para evitar isso.
Bem, não creio que expressão regular poderia ser chamado de cópia. Pelo que eu vejo, é a melhor solução para seu problema. [=

P

Vdd Hebert, pois não encontrei nada, tentei usar substring mas é um martírio… por isso vim aqui tentar usar algo diferente

ViniGodoy

Concordo com o Hebert. Não faz sentido deixar de usar expressões regulares.

P

Tbm concordo Vini, mas estou preocupado com possíveis processos… mesmo fazendo leituras diferentes e fazendo tudo do zero…

rafadelnero

A melhor e a mais apropriada solução é o uso de Regex, foram criadas especialmente pra isso.

P

Ok,

Valeu pessoal, pelo visto não existe uma forma melhor do que regex mesmo… valeu mesmo, abs

P

A nível de curiosidade, esse tratamento com substring é aceitável comparado à expressão regular?

public void validaTrack(String input) {
		String track = null;
		int i = 0;
		while (true) {
			int found = input.indexOf("Track = ", i);
			if (found == -1)
				break;
			int start = found + 11; // define início da palavra que deseja
			int end = input.indexOf(",", start); // define fim da palavra
			track = input.substring(start, end).replaceAll("\"", "");
			i = end + 1; // avança para o início da próxima iteração
			dispositivos.setTrack(track);
			System.out.println("Tempo Track: " + dispositivos.getTrack());
		}
	}
L

Porque tu tomaria um processo? É um padrão de caracteres. É a mesma coisa alguém te processar porque teu nick tem 6 caracteres consecutivos… A expressão regular não é uma solução proprietária.

Ruttmann

Use Regex colega. O tempo que vais levar estudando Regex e implementando vai ser bem menor do que o tempo que vais bater a cabeça pra tentar implementar isso de outro modo.

É mesma coisa que escalonar sistema linear por computador de outro modo que não seja Gauss-Jordan. Tá com medo que o defunto levante da cova e te processe?

uahuahauh

Regex tem nenhum problema com plágio não. Não existe essa de plagiar técnica, e técnica é uma e tá acabado, todo mundo pode usar.

P

Blz… vou usar o regex mesmo… era só para tirr dúvidas…

E vou contratar um advogado… só por precaução rsrsrrs… zueira.

valeu a todos mesmo

gomesrod

Não precisa dizer isso só de zueira não, se tiver possibilidade faça mesmo! Procure um advogado que conheça de assuntos relacionados a produção de software, propriedade intelectual, etc. e marque uma consulta. Apresente em detalhes o seu caso para ter uma opinião embasada que vai te deixar seguro sobre o que fazer ou não.

Estou dizendo isso porque já passei por uma situação semelhante, há muitos anos fiz um freelance que consistia em desenvolver um sistema baseado em outro, que o meu cliente usava mas queria largar porque a mensalidade era muito cara. Quando o fornecedor do sistema antigo soube o que estava acontecendo ficou irado, e perdi o sono por algumas semanas pensando no que poderia acontecer. Consultei um advogado, e o que me salvou foi que eu tinha feito o sistema baseado no anterior mas não havia copiado nada; o cliente passou informações sobre o funcionamento e eu desenvolvi tudo do zero, sem sequer olhar para o código. Assim dificilmente isso seria considerado um plágio.

Então esse é outra dica que eu te dou: não olhe o código do sistema anterior, não imite a estrutura do banco de dados, o modelo, nada. Simplesmente peça ao cliente o que ele quer que o sistema faça, mantenha-se indiferente ao fato que existe outro software fazendo a mesma coisa.

P

Entendi gomes… o problema é que não tenho como fugir muito dos métodos de leitura de dados e tratamento, pois para achar um valor, tenho que consultar tal palavra… e é exatamente igual…

mudei algo em relação a pegar estes dados e mandá-los para outros lugares, mas a base e estrutura são muito semelhantes…

Criado 25 de novembro de 2013
Ultima resposta 28 de nov. de 2013
Respostas 14
Participantes 7