dúvida com regex

Olá Pessoal,

Tenho uma string dessa forma : CONV-ERP-00-001

To tentando fazer o metodo dessa forma: Pattern p = Pattern.compile("[A-Z] -[A-Z] -\d{1,2} - \d{3,4}");

Porém não está funcionando.

Alguem poderia me ajudar?

Obrigada.

// CONV-ERP-00-001 
Pattern p = Pattern.compile("[A-Z]+-[A-Z]+-\\d{1,2}-\\d{3,4}"); 

Como não sei quantas letras e dígitos você quer para “CONV” e “ERP”, estou pondo apenas “+” (que quer dizer 1 ou mais repetições).

Oi !

Então ainda não funcionou.
To passando o código da funcao.

public boolean validate(String DOC){

   String DocERPdigitado = (String) DOC;
   
   Pattern p = Pattern.compile("[A-Z]+-[A-Z]+-\\d{1,2}-\\d{3,4}");

   Matcher m = p.matcher(DocERPdigitado);

   boolean matchFound = m.matches();

   if(!matchFound){
     return false;
   } else{
        return true;
      }

}

Muito obrigada.

Em relação as letras, elas são apenas essas CONV-ERP.

VeraApFigueiredo, tenta dessa forma aqui…

Espero ter ajudado.

import java.util.regex.Matcher;
import java.util.regex.Pattern;


/**
 * 
 * @author lucas.correa
 */
public class Regex {
	
	public static void main(String[] args){
		new Regex().validate("CONV-ERP-00-001");
	}
	
	public boolean validate(String DOC){
		// CONV-ERP-00-001   
		String DocERPdigitado = (String) DOC;
		Pattern p = Pattern.compile("[A-Z]{4}-[A-Z]{3}-[0-9]{2}-[0-9]{3}");

		Matcher m = p.matcher(DocERPdigitado);

		boolean matchFound = m.matches();

		if(!matchFound){
			System.out.println("Falso");
			return false;
		} else{
			System.out.println("Verdadeiro");
			return true;
		}
	} 
}

Só repetindo a resposta do thingol (leia os comentários):

[code]import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class T {
public static boolean validate(String doc) {

  // Opção 1
  Pattern p = Pattern.compile("[A-Z]+-[A-Z]+-\\d{1,2}-\\d{3,4}");
  Matcher m = p.matcher(doc);
  return m.matches();

  // Opção 2
  // return Pattern.matches("[A-Z]+-[A-Z]+-\\d{1,2}-\\d{3,4}", doc);

  // Dependendo do que vc quer pode colocar simplesmente:
  // return doc.matches("[A-Z]+-[A-Z]+-\\d{1,2}-\\d{3,4}");

  // WARNING, WARNING, PÉROLA DETECTED
  // boolean matchFound = m.matches();
  //
  // if (!matchFound) {
  // return false;
  // } else {
  // return true;
  // }

}

public static void main(String[] args) {
System.out.println(validate(“CONV-ERP-00-001”));
}
}[/code]
Alguém já pensou em compilar pérolas e POGs num livro?