Como faço para validar Caracteres como “(” ou “)” ou qualquer outro em expressões regulares em java?
Duvida sobre expressoes regulares - Validar caracteres especiais
5 Respostas
não entendi, vc quer que passe apenas caracteres especiais? ou quer que passe qualquer coisa?
qual a aplicação disso? que codigo vc usou q não deu certo?
Aqui esta meu codigo:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package expressaor;
import java.util.regex.PatternSyntaxException;
import javax.swing.JOptionPane;
/**
* @author Manhiça
*/
public class ExpressaoR {
public static boolean sequenciaValida(String texto, String regex){
if(texto.matches(regex))
return true;
return false;
}
public static String validarRegex() {
boolean regexValido = false;
String regex = JOptionPane.showInputDialog(null,"Introduza uma exprecao regular valida");
do {
try{
regexValido = "texte".matches(regex) || !"texte".matches(regex);
} catch(PatternSyntaxException exp){
regex = JOptionPane.showInputDialog(null,"Introduza uma exprecao regular valida","Exprecao regular invalida", JOptionPane.WARNING_MESSAGE);
regexValido = false;
}
}while(!regexValido);
return regex;
}
public static void main(String[] args) {
String regex = validarRegex();
float a=-4-7;
String sequencia = JOptionPane.showInputDialog(null,"Introduza uma Sequencia");
while(sequencia != null){
if(sequenciaValida(sequencia, regex))
JOptionPane.showMessageDialog(null, "Sequencia Valida","Resultado", JOptionPane.INFORMATION_MESSAGE);
else
JOptionPane.showMessageDialog(null, "Sequencia invalida","Resultado", JOptionPane.ERROR_MESSAGE);
sequencia = JOptionPane.showInputDialog(null,"Introduza uma Sequencia");
}
JOptionPane.showMessageDialog(null, "Obrigado");
}
}
Ele deve receber uma Expressao regular por teclado e depois validar todas Strings que o usuario Introduzir.
O programa Funciona , mas não consigo validar caracteres como "(" ")" "+" "*" "[" "]"
tentou colocar contrabarra antes desses caracteres?
Por exemplo, ao invés de ficar “(*)” ficaria “(*)”
tentou colocar contrabarra antes desses caracteres?Por exemplo, ao invés de ficar “(*)” ficaria “(*)”
vlw , tentei e funcionou … mas agora a ideia era de evitar por a barra para alguns casos… existe alguma maneira de dar tratamento a String de modo que ela traga a barra sem ter de ficar pondo a barra toda hora?
pensou em aplicar um replaceAll?
String entrada = "(.*)";
entrada = entrada.replaceAll("([\[\]\(\)\.\*\+])", "\\\1");
ou algo do tipo