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

122
Visualizações
Regex encontrando toda la línea del párrafo

Necesito encontrar la línea real del párrafo, el dibujo del párrafo por el editor de rebajas, puede agregar una casilla de verificación, radio, cuadro de texto y párrafo a través del editor.

El str real es algo como esto,

 this is paragraph line1 ?[question_2]{"category":[]}[who are you]=[] {1,2} [] OPTION 1 [] OPTION 2 [] OPTION 3 this is paragraph line3 ?[question_3]{"category":[]}[picode]=_ [PLACEHOLDER_TEXT] ?[question_1]{"category":[]}[sex]=() {1} () male () femele this is paragraph line3

¿Todos los tipos de preguntas tienen que comenzar con ?[sometext] , para que pueda usar esta expresión regular

radio -> [\?] ?[([0-9a-z_]. ?)]({(?:[^{}]|?) })? ?[?(. ?)]? ?[=] ?() ?({[0-9,]+})?([^] ?)(\n\n|^\n)

casilla de verificación -> [\?] ?[([0-9a-z_]. ?)]({(?:[^{}]|?) })? ?[?(. ?)]? ?[=] ?[] ?({[0-9,]+})?([^] ?)(\n\n|^\n),

similar a todas las entradas, mi pregunta, ¿cómo puedo obtener el texto de la línea de párrafo (esos no comienzan con? [] que pueden incluir letras pequeñas/mayúsculas/dígitos)

about 4 years ago · Santiago Gelvez
2 Respostas
Responde à pergunta

0

Puedes hacerlo así:

 ^(?!(\?)|(\[)).+(\n|$)

^ le mostrará el comienzo de la línea, (?! buscará los caracteres ? o [, .+ coincidirá con el resto de los caracteres hasta \n (salto de línea) o $ (final del archivo).

demostración de expresiones regulares 101

EDITAR

Para agrupar todas las líneas de un párrafo, intente esto:

 ^((?!(\?)|(\[))(.+(\n|$)))+

demostración de expresiones regulares 101

about 4 years ago · Santiago Gelvez Relatório

0

aquí hay algunas ideas clave al manejar la detección de líneas de hilo.

  • algunos sistemas operativos y navegadores usan extremos de línea diferentes (no solo \n . A veces es \r o \r\n )
  • ^ no dice el comienzo de la línea. indica el comienzo de toda la cadena.

use simple .split() . + regex funciona bien en este caso. aquí hay un buen ejemplo que he encontrado en SO.

 https://stackoverflow.com/questions/21895233/how-to-split-string-with-newline-n-in-node function splitLines(t) { return t.split(/\r\n|\r|\n/); } const lines = splitLines(yourString).forEach(line => radioOrCheckBoxRegex(line));

Markdown es difícil (peligroso)

Lamento desviarme de las expresiones regulares, pero le aconsejo que no implemente Markdown desde cero . Tendrás un sinfín de casos extremos. Porque,

  • si acepta una entrada del usuario, requiere cierto grado de desinfección.
  • la expectativa de los usuarios es siempre diferente de su expectativa. pondrán tantas cadenas extrañas para rebajar y esperarán que su código funcione. Las librerías de descuento probadas en batalla son útiles en este caso.
  • la personalización de una librería de rebajas puede enseñarle sobre el proceso de análisis de rebajas.'
  • Markdown es también un estándar complejo documentado. siga las reglas de rebajas existentes antes de comenzar a implementar una. ¿Estás siguiendo las reglas de rebajas de Github ? ¿O estás siguiendo las reglas de Commonmark ? o tal vez algo más? y los usuarios también esperarán que su aplicación siga cualquiera de estas reglas.

Implementar una reducción personalizada a través de librerías clásicas de reducción como marcado.js podría ser una mejor idea. la mayoría de las librerías de rebajas usan un tokenizador interno, que maneja la expresión regular que ha mencionado. un texto sin formato se convierte en datos reconocibles del programa (json, javascript obj) con tokenizadores. es posible usar tokenizadores internos, separados del renderizador real.

verifique este código lexer (tokenizer) de marcado.js

about 4 years ago · Santiago Gelvez 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