Estoy tratando de encontrar una expresión regular que solo coincida con cadenas si no contiene un punto, p. coincide con stackoverflow
, 42abc47
o a-bc-31_4
pero no coincide con: .swp
, stackoverflow
o test.
.Cómo hacer coincidir solo cadenas que no contienen un punto (usando expresiones regulares)
Respuesta
^[^.]*$
o
^[^.]+$
Dependiendo de si desea hacer coincidir cadena vacía. Algunas aplicaciones pueden suministrar implícitamente ^
y $
, en cuyo caso no serían necesarias. Por ejemplo: el HTML5 input
element's pattern
attribute.
Puede encontrar mucha más información útil en el sitio regular-expressions.info.
gracias, ¡funcionó! – tx31415
Usar una expresión regular que no tiene ningún puntos:
^[^.]*$
Eso es cero o más caracteres que no son puntos en toda la cadena. Algunas bibliotecas de expresiones regulares que he usado en el pasado tenían formas de obtener una coincidencia exacta de . En ese caso, no necesita ^
y $
. Tener un lenguaje en su pregunta ayudaría.
Por cierto, usted no tiene tiene para usar una expresión regular. En java, podría decir:
!someString.contains(".");
@tchrist - Actualicé mi respuesta. Realmente he usado bibliotecas antes (no recuerdo qué) que permitan una coincidencia exacta. Pensé que el OP tenía problemas para decir "no punto". Además, creo que mi enfoque 'contains' es bastante razonable. Pero tal vez esto es tarea o el OP se ve obligado a utilizar una biblioteca que solo acepta una expresión regular ... – Tom
Agregaré: mi solución funciona para la mayoría de los idiomas, pero puede haber sutilezas y estoy feliz de intentar aclarar si OP proporciona más detalles. Además, escapar entre corchetes está bien (en los idiomas que he usado) y prefiero hacerlo. – Tom
@Tom: acepto que un control de subcadena en lugar de regex es un enfoque perfectamente razonable; la pregunta suena como tarea o de alguna manera en su cabeza. Lo que estás recordando es que Java tiene un método de "coincidencias" estropeado (no me hagas comenzar), que hace todo lo posible por proporcionar anclas incluso cuando no lo haces; esa es solo una de varias razones por las que solo debería usar su método 'find' si se ve obligado a usar Java para las expresiones regulares (no es muy bueno para ellas). La mayoría de los otros idiomas regex no son tan cojos. Por cierto, todavía tienes una barra inversa falsa. Retíralo y quitaré mi voto negativo. – tchrist
Requisito de validación: El primer carácter debe ser una letra y luego un punto '.' no está permitido en Target String.
// La cadena de entrada que estamos usando string input = "1A_aaA";
// The regular expression we use to match
Regex r1 = new Regex("^[A-Za-z][^.]*$"); //[\t\0x0020] tab and spaces.
// Match the input and write results
Match match = r1.Match(input);
if (match.Success)
{
Console.WriteLine("Valid: {0}", match.Value);
}
else
{
Console.WriteLine("Not Match");
}
- 1. Cómo hacer coincidir cadena entre comillas usando expresiones regulares
- 2. ¿Cómo hacer coincidir un largo con expresiones regulares de Java?
- 3. ¿Cómo puedo hacer coincidir contra varias expresiones regulares en Perl?
- 4. ¿Cómo hago coincidir texto entre paréntesis usando expresiones regulares?
- 5. ¿Cómo hacer coincidir algo con expresiones regulares que no está entre dos caracteres especiales?
- 6. Regex: cómo hacer coincidir el último punto en una cadena
- 7. Negación de cadena usando expresiones regulares
- 8. de expresiones regulares para hacer coincidir el número y espacios
- 9. Sintaxis de expresiones regulares para "hacer coincidir nada"?
- 10. ¿Cuáles son las expresiones regulares de Java para hacer coincidir cadenas de IPv4 e IPv6?
- 11. Base de datos o estructura adecuada para hacer coincidir cadenas con patrones de expresiones regulares
- 12. Java - extraer cadenas con expresiones regulares
- 13. Expresiones regulares: cómo hacer coincidir el carácter '<' no seguido por ('a' o 'em' o 'fuerte')?
- 14. ¿Cómo puedo unir recursivamente un patrón usando expresiones regulares?
- 15. ¿Usar expresiones regulares para hacer coincidir cualquier carácter hasta que se alcance una subcadena?
- 16. ¿Cómo dividir usando un carácter de prefijo usando expresiones regulares?
- 17. Cómo dividir cadenas utilizando expresiones regulares
- 18. Expresiones regulares difusas
- 19. Validar expresiones matemáticas usando expresiones regulares?
- 20. VBA expresiones regulares - coincidir con una expresión que no comienza con una palabra en particular
- 21. Regex para hacer coincidir cadenas específicas sin un prefijo dado
- 22. fechas de partidos usando Python expresiones regulares
- 23. nomArchivo extracto usando expresiones regulares
- 24. ¿Cuántas expresiones regulares puedo encadenar usando alternancia?
- 25. expresiones regulares para que coincida con EOF
- 26. Regex para hacer coincidir solo las comas que no están entre paréntesis?
- 27. ¿Cómo hacer coincidir caracteres alfabéticos sin caracteres numéricos con expresiones regulares de Python?
- 28. Expresiones regulares mutuamente excluyentes
- 29. haciendo coincidir una línea que no contiene texto específico con expresiones regulares
- 30. Makefile: Filtrar cadenas que contienen un carácter
Por cierto, debe actualizar la pregunta para reflejar con precisión lo que desea. Parece que * no * quiere, pero la pregunta indica que * desea * puntos. – Tom