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

215
Visualizações
¿Cómo haría coincidir `.scss`, `.sass`, `.css` pero no `.ass`? (Expreg)

Tengo la siguiente expresión regular: /\.([s]?[ac]ss)$/ . El problema es que coincide con .scss , .sass , .css , .ass . ¿Cómo podría hacer que no coincida con .ass ?

over 4 years ago · Santiago Trujillo
6 Respostas
Responde à pergunta

0

Puedes usar

 \.(?!a)(s?[ac]ss)$

Vea la demostración de expresiones regulares . Detalles :

  • \. - un punto
  • (?!a) - el siguiente carácter no puede ser a
  • (s?[ac]ss) - Grupo 1: una s opcional, a o c y luego ss
  • $ - final de la cadena.

Otra expresión regular que puede funcionar es

 \.(s(?:css|ass)|css)$

Vea esta demostración de expresiones regulares . Detalles :

  • \. - un punto
  • (s(?:css|ass)|css) - s y luego css o ass o css
  • $ - final de la cadena.

NOTA : si tiene una lista dinámica definida por el usuario de tales cadenas fijas para hacer coincidir después de un archivo . al final de la cadena, puede crear estas expresiones regulares automáticamente usando el código en la parte inferior de mi respuesta .

over 4 years ago · Santiago Trujillo Relatório

0

Además, esto coincidirá solo con .scss , .sass y .css , es muy legible y se explica por sí mismo.

 /\.(sc|sa|c)ss$/
over 4 years ago · Santiago Trujillo Relatório

0

Otra forma de usar la alternancia:

 \.((?:s[ac]|c)ss)$

Demostración RegEx

Aquí, este grupo que no captura (?:s[ac]|c) coincidirá con sa o sc o simplemente con c .

over 4 years ago · Santiago Trujillo Relatório

0

¿Qué tal si solo

 /\.(s?css|sass)$/

Regex no necesita ser muy complejo para funcionar. Esto es mucho más fácil de leer para otros programadores ( es decir, usted en unos 3 meses ) y hace lo mismo.

Seguro que puedes mezclarlo más, pero ¿por qué lo harías? Las expresiones regulares son lo suficientemente complicadas, mantenlas simples si puedes :)

Manifestación

over 4 years ago · Santiago Trujillo Relatório

0

Puede enumerar los que desea hacer coincidir:

 let rx = /\.css|\.sass|\.scss/; // alphabetized for future maintenance

Esto no es elegante, pero es muy claro y fácil de agregar más adelante.

Lo probé aquí : ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Relatório

0

En su patrón \.([s]?[ac]ss)$ coincide con .ass porque la s inicial es opcional y la clase de carácter [ac] puede coincidir con ambos caracteres.

En su lugar, podría usar aserciones de búsqueda o usar una alternancia | permitir sólo ciertas alternativas.

Algunas otras variaciones podrían ser:

 \.(s?c|sa)ss$
  • \. Coincide con un .
  • ( Grupo de captura 1
    • s?c|sa Coincide con una s opcional y luego coincide con c o coincide con sa
  • ) Cerrar grupo 1
  • ss$ Coincide con ss al final de la cadena

Demostración de expresiones regulares

 \.(s[ac]|c)ss$

Una variación del patrón anterior, que ahora coincide con sa o sc o c

Demostración de expresiones regulares

Si en su entorno se admite la aserción lookbehind :

 \.s?[ac]ss$(?<!\.ass)
  • \.s? Coincide con un . s opcionales
  • [ac] Coincide con a o c
  • ss$ Coincide con ss al final de la cadena
  • (?<!\.ass) Negativo mirar atrás, afirmar no .ass a la izquierda

Demostración de expresiones regulares

Tenga en cuenta que si solo desea una coincidencia, también puede usar un grupo que no sea de captura (?:...) en su lugar.

over 4 years ago · Santiago Trujillo 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