Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

123
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda