Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

149
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!