Necesidad de una expresión regular para el campo que debe permitir caracteres especiales, caracteres alfanuméricos, espacios y

Estoy utilizando la siguiente expresión regular:

[a-zA-Z0-9-#.()/%&\\s]{0,19}.

El requisito para el campo que se debe permitir a cualquier cosa y el tamaño del campo debe ser de 19.
Déjeme saber si alguna de las correcciones.Cualquier ayuda es muy apreciada.

  • Definir «caracteres especiales» …
  • Definir cada uno de sus términos, o no obtener una respuesta correcta.
  • Yo no entiendo que si mi pregunta no tiene ningún sentido o no me tiene que dar más info..
InformationsquelleAutor 1078081 | 2012-01-09

3 Kommentare

  1. 2

    Usted simplemente necesita para escapar los caracteres especiales. Probar:

    [a-zA-Z0-9\-#\.\(\)\/%&\s]{0,19}

    Usted puede probar las expresiones regulares en http://rubular.com/

    • +1 está esencialmente a la derecha. Mi único comentario es que, según la Expresión de motor usado, ciertos caracteres especiales, no es necesario ser escapado. Por ejemplo, algunos motores no necesitan - a ser escapado si se utilizan sólo después de un intervalo debido a que el motor puede averiguar de que la 2ª - no pudo ser parte de otro rango. Aún así, en caso de duda, escapar es seguro.
    • Estoy usando hibernate validator
  2. 0

    Su expresión es incorrecta en al menos un camino – si usted está considerando un guión para ser un «carácter especial», entonces usted debe poner al principio o al final de la gama. Así: [a-zA-Z0-9#.()/%&\s-]{0,19}.

    Personajes que son «especiales» dentro del contexto de la expresión en sí a menudo no se analiza si están dentro de un rango. Así que usted está bien con ., ( y ). Pero comprobar su analizador para asegurarse de que entiende lo que \s medios. Podría ser más sencillo, sólo para poner un espacio.

    También, si su regex analizador tiende a delimitar el regex con barras, entonces usted puede tener que escapar de la barra en el medio de la gama: [a-zA-Z0-9#.()\/%&\s-]{0,19}.

  3. 0

    Acaba de escapar de la dash - o ponerlo al principio o al final de la clase de personaje:

    [a-zA-Z0-9\\-#.()/%&\\s]{0,19}

    o

    [-a-zA-Z0-9#.()/%&\\s]{0,19}

    o

    [a-zA-Z0-9#.()/%&\\s-]{0,19}
    • JSLint no le gusta cuando no escapar de sus guiones. Un carácter de escape no te va a matar por la consistencia de la causa.
    • echo Hello | egrep '[a-zA-Z0-9\-#.()/%&\\s]{0,19}' devuelve egrep: Invalid range end.
    • Estás en lo cierto para JSLint, OP pero no dicen en qué idioma está utilizando.
    • oh, mira eso. He podido mirar las etiquetas. En la parte superior de que la sintaxis no es js tampoco. 😛
    • así que queremos usar algo como esto [a-zA-Z0-9\\-#.()/%&\\s]{0,19} o correcciones. Esto es no permitir caracteres Especiales como [email protected]$….
    • Simplemente agregue todos los «especiales char» desea en la clase de caracteres.
    • ok, pero en lugar de añadir todos los caracteres especiales hay alguna otra alternativa?

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Recent Articles

Python «set» con duplicados/elementos repetidos

Hay una forma estándar de representar un "conjunto" que puede contener elementos duplicados. Como yo lo entiendo, un conjunto tiene exactamente un cero o...

Python: generador de expresión vs rendimiento

En Python, ¿hay alguna diferencia entre la creación de un generador de objetos a través de un generador de expresión versus el uso de...

Cómo exportar/importar la Masilla lista de sesiones?

Hay una manera de hacer esto? O tengo que tomar manualmente cada archivo de Registro? InformationsquelleAutor s.webbandit | 2012-10-23

no distingue mayúsculas de minúsculas coincidentes en xpath?

Por ejemplo, para el xml a continuación <CATALOG> <CD title="Empire Burlesque"/> <CD title="empire burlesque"/> <CD...