Regex for URL slug

Matches a lowercase URL slug like my-blog-post.

^[a-z0-9]+(?:-[a-z0-9]+)*$

Proof it works

5/5 sample tests passed · compiles: true

SampleShould matchResult
hello-world yes pass
post-123 yes pass
Hello-World no pass
double--dash no pass
-leading no pass

Try your own input

Related patterns