Validar cadena con regex en android
Quiero que mi cadena no contenga *
;
Y $
. Yo uso este código
private static boolean IsMatch(String s, String pattern) { try { Pattern patt = Pattern.compile(pattern); Matcher matcher = patt.matcher(s); return matcher.matches(); } catch (RuntimeException e) { return false; } } String regex ="[^*;$]"; System.out.println(IsMatch(url,regex));
Pero este método vuelve siempre falso. ¿Puede alguien decirme cuál es el problema
- Expresión regular de Android para obtener enlaces de la fuente de la página web
- Java Regex lookahead toma demasiado tiempo
- Cómo analizar valores float de cadena utilizando REGEX en java
- "Secuencia de escape no válida (válidos son \ b \ t \ n \ f \ r \" \ '\\) "error de sintaxis
- Expresión regular de Android: devuelve la cadena correspondiente
- ¿Cómo puedo crear una expresión regular para esto en android?
- Cómo puedo encontrar todas las coincidencias con una expresión regular en android
- Cómo validar el formato de número de teléfono
- ¿Cómo lograr límite de palabras en Sqlite Android?
- Android / Java: comprueba si url es url válida de youtube
- Necesito una consulta SQL para encontrar todas las palabras que puede hacer con un conjunto de letras, incluyendo hasta dos fichas en blanco
- ¿Hay una manera rápida de reconocer códigos HTML ASCII en una cadena o TextView?
- División de la cadena con RegEx en Android
Intente usar [^*;$]*
para su regex. Volverá true si la cadena no contiene ninguna de *
;
Y $
. Supongo que quieres que tu regex coincida con cadenas que no contengan ninguno de esos caracteres ya que ya estás usando ^
dentro [
y ]
.
Pruebe este regex [^\\*;\\$]*
. * Y $ son caracteres especiales en regex.
Edit: Si está usando Pattern
, debe usar este regex: String regex = "^[^\\*;\\$]*$"
, ya que desea que coincida con toda la cadena.
Como alternativa, puedes usar url.matches("[^\\*;\\$]*");
Donde usted no necesita el primer ^ y último $, ya que ese método intenta igualar la cadena entera de todos modos.
Tienes que sacar ^ y $, porque pueden ocurrir en cualquier parte de tu cadena.
String regex = "[\*,;\$]";
Observe la barra invertida que escapa del símbolo $. Editar: y el símbolo *.
Tendrás que escapar de algunos de los personajes como este [\ ^ *; \ $]
- Prueba de la clase de comunicación con DB a través de DAO de ORMLite
- Actualizar un TextView después de hacer clic en el botón?