Regex for kebab-case Word
Regex Pattern
^[a-z][a-z0-9]*(?:-[a-z0-9]+)+$kebab-case identifier (lowercase with hyphens)
Quick Answer
The regex pattern for kebab-case word is `^[a-z][a-z0-9]*(?:-[a-z0-9]+)+$`. kebab-case identifier (lowercase with hyphens). This works in JavaScript, Python, Ruby, PHP, Java, and most regex engines that support PCRE syntax.
Test Examples
| Input | Result |
|---|---|
| my-component | ✓ Matches |
| header-nav | ✓ Matches |
| get-user-data | ✓ Matches |
| myComponent | ✗ No match |
| My-Component | ✗ No match |
| single | ✗ No match |
| UPPER-CASE | ✗ No match |
Code Examples
javascript
const regex = /^[a-z][a-z0-9]*(?:-[a-z0-9]+)+$/; const isValid = regex.test(value);
python
import re
pattern = r'^[a-z][a-z0-9]*(?:-[a-z0-9]+)+$'
if re.match(pattern, value):
print("valid")ruby
pattern = /^[a-z][a-z0-9]*(?:-[a-z0-9]+)+$/ if value =~ pattern puts "valid" end
php
if (preg_match('/^[a-z][a-z0-9]*(?:-[a-z0-9]+)+$/', $value)) {
echo "valid";
}java
String pattern = "^[a-z][a-z0-9]*(?:-[a-z0-9]+)+$"; boolean isValid = value.matches(pattern);
Frequently Asked Questions
Related Regex Patterns
Markdown Heading
Markdown heading (# to ######)
Markdown Link
Markdown inline link [text](url)
Markdown Image
Markdown inline image 
Markdown Bold
Markdown bold text (**text** or __text__)
Markdown Code Block
Markdown fenced code block opening/closing delimiter
camelCase Word
camelCase identifier (starts lowercase, no separators)