Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

142
Visualizações
RegExp evita el doble espacio y el espacio antes de los caracteres

Estoy tratando de escribir una expresión regular para no permitir espacios dobles en ninguna parte de una cadena, y también forzar un solo espacio antes de un MO o GO obligatorio, sin espacio permitido al principio y al final de la cadena.

Ejemplo 1 : It is 40 GO a la derecha

Ejemplo 2 : It is 40GO incorrecto

Ejemplo 3 : It is 40 GO mal

Esto es lo que he hecho hasta ahora ^[^ ][a-zA-Z0-9 ,()]*[^;'][^ ]$ , que evita los espacios al principio y al final, y también el " ;" personaje. Este funciona a las mil maravillas.

Mi problema es no permitir espacios dobles en ninguna parte de la cadena, y también forzar espacios justo antes de los caracteres MO o GO .

Después de algunas horas de investigación, probé estos (a partir del RegExp anterior que escribí):

Para evitar los espacios dobles: ^[^ ][a-zA-Z0-9 ,()]*((?!.* {2}).+)[^;'][^ ]$

Para forzar un solo espacio antes de MO : ^[^ ][a-zA-Z0-9 ,()]*(?=\sMO)*[^;'][^ ]$

Pero ninguno de los dos últimos funciona realmente. agradeceria a quien me ayude a resolver esto

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

La búsqueda anticipada (?!.* {2} se puede omitir y, en su lugar, comenzar la coincidencia con un carácter que no sea un espacio en blanco y finalizar la coincidencia con un carácter que no sea un espacio en blanco y usar un solo espacio en un grupo repetido opcionalmente.

Si la cadena no puede contener un ' o ; entonces usar [^;'][^ ]$ significa que el penúltimo carácter no debe ser ninguno de esos caracteres.

Pero puede omitir esa parte, ya que la clase de carácter [a-zA-Z0-9,()] no coincide ; y '

Tenga en cuenta que el uso de una clase de caracteres como [^ ] y [^;'] en realidad espera un solo carácter, lo que hace que el patrón que intentó tenga una longitud mínima.

En su lugar, puede descartar la presencia de GO o MO precedidos por un carácter que no sea un espacio en blanco.

 ^(?!.*\S[MG]O\b)[a-zA-Z0-9,()]+(?: [a-zA-Z0-9,()]+)*$

El patrón coincide:

  • ^ Comienzo de cadena
  • (?!.*\S[MG]O\b) Anticipación negativa, afirmar no un carácter que no sea un espacio en blanco seguido de MO o GO a la derecha. El límite de palabras \b evita una coincidencia parcial de palabras
  • [a-zA-Z0-9,()]+ Comience la coincidencia con 1+ ocurrencias de cualquiera de los caracteres enumerados (Tenga en cuenta que no hay espacio en él)
  • (?: [a-zA-Z0-9,()]+)* Opcionalmente repite la misma clase de carácter con un espacio inicial
  • $ Fin de la cadena

Demostración de expresiones regulares

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda