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

286
Visualizações
Cómo hacer coincidir expresiones regulares con/sin guión

Tengo muchas dificultades para hacer coincidir cadenas en JavaScript usando expresiones regulares. El problema es que cuando hago coincidir cadenas como "asistente de abogado" con "abogado", devuelve verdadero. No puedo ignorar/prohibir los guiones, ya que también quiero poder hacer coincidir "asistente-abogado" con "asistente-abogado" y también ser verdadero. No puedo averiguar si debo usar límites de palabras o verificar si la cadena no comienza con un espacio en blanco o un guión.

Lo que tengo hasta ahora es esto:

 ([^-])(attorney)

Aquí hay una prueba: https://www.regextester.com/?fam=121381

Espero que alguien pueda ayudar, gracias de antemano.

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

0

Creo que necesita usar límites de palabras y mejorarlos con requisitos adicionales:

 (?<=^|[^-])\battorney\b(?=[^-]|$)
  • (?<=^|[^-]) - afirmar que detrás de mí está el comienzo de una línea o no es un guión
  • \b - límite de palabras
  • attorney - el término de búsqueda
  • \b - límite de palabra
  • (?=[^-]|$) - afirmar que delante de mí no hay un guión o es el final de una línea

abogado - https://regex101.com/r/HCRKWi/1

abogado asistente - https://regex101.com/r/2tvU1n/1

about 4 years ago · Juan Pablo Isaza Relatório

0

Creo que un simple grupo de Negative Lookbehind podría hacer el truco.

(?<!-)attorney

Negative Lookbehind (?<!-) Afirma que el Regex a continuación no coincide

ACTUALIZAR

Como dijo @MonkeyZeus, la primera versión falló en los attorneys y fakewordwithattorneyinit

La nueva expresión regular está usando una búsqueda negativa hacia atrás y una búsqueda negativa hacia adelante con este aspecto:

\b(?<!-)attorney(?!-)\b si desea hacer coincidir todas las cadenas ingrese la descripción de la imagen aquí

^\b(?<!-)attorney(?!-)\b si desea hacer coincidir "la línea comienza con el término"

https://regex101.com/r/FToha6/1

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