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

121
Views
Regex finding entire line from paragraph

I need to find the actual line from the paragraph, the paragraph drawing by the markdown editor you can add a checkbox, radio, textbox, and paragraph through the editor.

The actual str is something like this,

  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

Do all question types have to start with ?[sometext], so I can use this regex

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

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

similar to all inputs, my question how can i get the paragraph line text (those are not start with ?[] which may have small/caps/digits include)

about 4 years ago · Santiago Gelvez
2 answers
Answer question

0

You can do it like this:

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

^ will get you the start of the line, (?! will look ahead for the ? or [ characters, .+ will match the rest of the characters until \n (Line break) or $ (end of file).

regex101 demo

EDIT

To group all the lines from a paragraph, try this:

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

regex101 demo

about 4 years ago · Santiago Gelvez Report

0

here are some key ideas when handling string line detection.

  • some OS and browsers use different line ends.(not just \n. it's sometimes \r or \r\n)
  • ^ does not tell the start of the line. it tells the start of entire string.

use plain .split(). + regex works well in this case. here's a good example that I've found on 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 is hard(dangerous)

Sorry to deviate from regex but I advise you not to implement markdown by scratch. You'll have endless extreme cases. Because,

  • if it acceps a user input, it requires some degree of sanitization.
  • users expectation is always different from your expectation. they'll put so many weird strings to markdown and expect your code to work. battle-tested markdown libs comes handy in this case.
  • customizing a markdown libs can teach you about markdown parsing process.'
  • markdown is also a documented complex standard. follow existing markdown rules before actually start implementing one. are you following Github markdown rules? or are you following Commonmark rules? or maybe something else? and users will also expect your app to follow any of these rules.

Implementing custom markdown it via classic markdown libs such as marked.js might be a better idea. most markdown libs uses internal tokenizer, which handles the regex you've mentioned. a plain text becomes program recognizable data(json, javascript obj) with tokenizers. it is possible to just use internal tokenizers, separate from the actual renderer.

check this lexer(tokenizer) code of marked.js

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