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

105
Views
Javascript coincide con menos de n ocurrencias incluso aunque esté explícitamente configurado para coincidir con n

Bien, entonces, tengo este patrón.

 ^(([0-9*\/]+)\s??){7}$

De forma predeterminada, se supone que debe coincidir con 7 segmentos que pueden tener uno de estos formularios de muestra:

 [0/2, *, 2, /]

El problema es que esto coincide con:

  • * * 0/2 * * - incorrecto
  • * * * * * * * - correcto
  • * 0/2 * * * 2 * - correcto
  • * 0/2 0/2 - incorrecto

En C#, solo usaría ++ en el primer grupo de captura y funcionaría, pero Javascript tiene una expresión regular desactualizada a la que le faltan funcionalidades clave.

Aquí está el patio de recreo para reproducir: https://regex101.com/r/Pk23dV/1

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

El patrón (([0-9*\/]+)\s??){7}$ es de tipo ^((a)b?){x}$ donde la parte a es obligatoria y la parte b es opcional. Es decir, el cuantificador {7} en su expresión regular significa que debe haber al menos siete ocurrencias de un carácter que coincida con el patrón [0-9*\/] , ya sea consecutivo o separado por espacios en blanco.

Si desea escribir una expresión en la que \s sea obligatorio entre [0-9*\/]+ partes, puede utilizar

 ^[0-9*\/]+(?:\s[0-9*\/]+){6}$ ^(?:([0-9*\/]+)(?:\s(?!$)|$)){7}$

Vea la demostración de expresiones regulares 1 y la demostración de expresiones regulares 2 .

Detalles de expresiones regulares

  • ^ - comienzo de la cadena
  • [0-9*\/]+(?:\s[0-9*\/]+){6} - uno o más dígitos, / o * y luego seis apariciones de un espacio en blanco y luego uno o más dígitos, / o *
  • (?:([0-9*\/]+)(?:\s(?!$)|$)){7} - siete apariciones de uno o más dígitos, / o * seguido de un espacio en blanco si no al final de la cadena o al final de la cadena
  • $ - final de la cadena.
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!