Ask Your Question
4

How can I use Regex to obtain all headers in a markdown string?

asked 2022-10-15 11:00:00 +0000

lalupa gravatar image

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
3

answered 2022-02-21 17:00:00 +0000

plato gravatar image

To obtain all headers in a markdown string using Regex, you can use the following pattern:

/^#+\s(.+)/gm

Explanation of the pattern:

  • ^ matches the start of a line.
  • #+ matches one or more hash symbols (#) that denotes the header level.
  • \s matches any whitespace character after the hash symbols.
  • (.+) matches any characters after the whitespace character 1 or more times and captures it.
  • gm are the flags that indicate to match globally and multiline; g flag is used to match all instances instead of stopping at the first match, and m flag is used to match with multiple lines.

Using this pattern in JavaScript, you can get all the headers by using the match() function on the markdown string like this:

const markdownString = "# Header 1\n## Header 2\n### Header 3\n#### Header 4";

const headerPattern = /^#+\s(.+)/gm;
const headers = markdownString.match(headerPattern);

console.log(headers); // Output: ["Header 1", "Header 2", "Header 3", "Header 4"]

This will give you an array of all the headers present in the markdown string.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss

Add Answer


Question Tools

Stats

Asked: 2022-10-15 11:00:00 +0000

Seen: 8 times

Last updated: Feb 21 '22