a Markdown list item
Matches a Markdown list item. It is anchored at both ends, so the whole string has to match. There is 1 capture group.
Pattern
/^[-*+]\s+(.+)$/- Match scope
- the whole string
- Capture groups
- 1
- What it catches in the first example
- - 첫째
Try it yourself
Type any text and the parts this expression catches are highlighted. It runs in your browser and is never sent anywhere.
- 첫째
1 match
Examples that match
- - 첫째
- * 둘째
- + 셋째
Examples that do not match
- 1. 첫째
- -없는공백
- plain
Other expressions in this group
from ['\"]([^'\"]+)['\"]the path in an import statement#[0-9a-fA-F]{6}\ba hex colour inside running textTODO:?\s*(.*)a TODO note left in a comment\d+(px|em|rem|%)a number with a CSS unit!\[([^\]]*)\]\(([^)]+)\)a Markdown image--[^\n]*a SQL line comment\$\{?([A-Z_][A-Z0-9_]*)\}?a shell environment variable[A-Za-z0-9_-]{11}a YouTube video idHow to read this
- With ^ and $ around it, the whole string must match; without them the match can sit anywhere. Always anchor an expression you use for validation.
- Round brackets ( ) capture what they wrap. When you only need grouping, write (?: ) so the numbering of later groups does not shift.
- Every expression here is checked against its examples. Even so, "looks like an email" and "is a real inbox" remain different questions.
- Nested open-ended repeats such as (a+)+ can blow up on certain inputs. Look for that shape before pasting someone else’s expression into your code.
Frequently asked questions
Q. What is the regex for a Markdown list item?
^[-*+]\s+(.+)$.
Q. Which strings match?
Text like - 첫째 matches; text like 1. 첫째 does not.
Q. Does the whole string have to match?
Yes. It is wrapped in ^ and $, so nothing but a full match passes.
Q. How do I use what it caught?
There is one capture group, so you can read them from match[1] onwards.