Regular Expressions Examples: A Comprehensive List
Regular expressions are a powerful tool used for pattern matching in text. They are used in a wide range of applications like text editors, programming languages, and data validation. This article will provide a comprehensive list of regular expression examples.
Quick Guide
| | | | ---------- | ----------------------------------------------------------------------------------------------------- | | \ | the escape character - used to find an instance of a metacharacter like a period, brackets, etc. | | . | match any character except newline | | x | match any instance of x | | ^x | match any character except x | | [x] | match any instance of x in the bracketed range - [abxyz] will match any instance of a, b, x, y, or z | | | | an OR operator - [x | y] will match an instance of x or y | | () | used to group sequences of characters or matches | | {} | used to define numeric quantifiers | | {x} | match must occur exactly x times | | {x,} | match must occur at least x times | | {x,y} | match must occur at least x times, but no more than y times | | ? | preceding match is optional or one only, same as {0,1} | | * | find 0 or more of preceding match, same as {0,} | | + | find 1 or more of preceding match, same as {1,} | | ^ | match the beginning of the line | | $ | match the end of a line | | [:alpha:] | Represents an alphabetic character. Use [:alpha:]+ to find one of them. | | [:digit:] | Represents a decimal digit. Use [:digit:]+ to find one of them. | | [:alnum:] | Represents an alphanumeric character ([:alpha:] and [:digit:]). | | [:space:] | Represents a space character (but not other whitespace characters). | | [:print:] | Represents a printable character. | | [:cntrl:] | Represents a nonprinting character. | | [:lower:] | Represents a lowercase character if Match case is selected in Options. | | [:upper:] | Represents an uppercase character if Match case is selected in Options. | | \d | matches a digit, same as [0-9] | | \D | matches a non-digit, same as [^0-9] | | \s | matches a whitespace character (space, tab, newline, etc.) | | \S | matches a non-whitespace character | | \w | matches a word character | | \W | matches a non-word character | | \b | matches a word-boundary (NOTE: within a class, matches a backspace) | | \B | matches a non-wordboundary |
Table of Contents
-
Number
-
Password (At least 8 characters, one uppercase, one lowercase, one digit, and one special character)
-
Date & Time
-
Card Validation
- Card CVV
- Credit Card Expiration Date (MM/YYYY)
- Credit Card Expiry Date (MM/YY)
- Credit Card Number (Visa, Mastercard, American Express, Discover)
- Amex Card Number
- BCGlobal Card Number
- Carte Blanche Card Number
- Diners Club Card Number
- Discover Card Number
- Insta Payment Card Number
- JCB Card Number
- Korean Local Card Number
- Laser Card Number
- Maestro Card Number
- Master Card Number
- Solo Card Number
- Switch Card Number
- Union Pay Card Number
- Visa Card Number
- Visa Master Card Number
Regular Expression with Example
-
Email Address
RegEx:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,3}$
<code class="language-javascript">const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,3}$/; console.log(emailRegex.test('[email protected]')); // true console.log(emailRegex.test('[email protected]')); // false
-
Number
RegEx:
^[0-9]*$
<code class="language-javascript">const numberRegex = /^[0-9]*$/; console.log(numberRegex.test('abc')); // false console.log(numberRegex.test('012345')); // true console.log(numberRegex.test('0123456789')); // true
-
Number for 10 digit
RegEx:
^[0-9]{10}$
<code class="language-javascript">const number10Regex = /^[0-9]{10}$/; console.log(number10Regex.test('abc')); // false console.log(number10Regex.test('012345')); // false console.log(number10Regex.test('0123456789')); // true
-
Allow symbols in number
Allow symbols:
-,+,(,)
RegEx:
^(?=.*[0-9])[- +()0-9]{10,14}$
<code class="language-javascript">const symbolsNumberRegex = /^(?=.*[0-9])[- +()0-9]{10,14}$/; console.log(symbolsNumberRegex.test('(999) 999-9999')); // true console.log(symbolsNumberRegex.test('(999) 999-99.99')); // false console.log(symbolsNumberRegex.test('56789')); // false
-
URL
RegEx:
^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$
<code class="language-javascript">const urlRegex = /^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/; console.log(urlRegex.test('https://example.com')); // true console.log(urlRegex.test('example.com')); // true
-
Percentage
RegEx:
^((\d{0,2}(\.\d{1,4})?)|100)$
<code class="language-javascript">const percentageRegex = /^((\d{0,2}(\.\d{1,4})?)|100)$/; console.log(percentageRegex.test('67.22')); // true console.log(percentageRegex.test('999')); // false
-
Username (Alphanumeric with underscore)
RegEx:
^[a-zA-Z0-9_]+$
<code class="language-javascript">const usernameRegex = /^[a-zA-Z0-9_]+$/; console.log(usernameRegex.test('user_123')); // true console.log(usernameRegex.test('user@123')); // false
-
Password (At least 8 characters, one uppercase, one lowercase, one digit, and one special character)
RegEx:
^(?=.[a-z])(?=.[A-Z])(?=.\d)(?=.[@$!%?&])[A-Za-z\d@$!%?&]{8,}$
<code class="language-javascript">const passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/; console.log(passwordRegex.test('Password123!')); // true console.log(passwordRegex.test('password123')); // false
-
Phone Number (US)
RegEx:
^(\d{3}-\d{3}-\d{4}|\d{10})$
<code class="language-javascript">const phoneRegex = /^(\d{3}-\d{3}-\d{4}|\d{10})$/; console.log(phoneRegex.test('123-456-7890')); // true console.log(phoneRegex.test('1234567890')); // true
-
ZIP Code (US)
RegEx:
^\d{5}$|^\d{5}-\d{4}$
<code class="language-javascript">const zipCodeRegex = /^\d{5}$|^\d{5}-\d{4}$/; console.log(zipCodeRegex.test('12345')); // true console.log(zipCodeRegex.test('12345-6789')); // true
-
Hexadecimal Color Code (3 or 6 digits)
RegEx:
^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
<code class="language-javascript">const colorCodeRegex = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/; console.log(colorCodeRegex.test('#FFA500')); // true console.log(colorCodeRegex.test('#ABC')); // true
-
IP Address (IPv4)
RegEx:
^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
<code class="language-javascript">const ipv4Regex = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/; console.log(ipv4Regex.test('192.168.0.1')); // true console.log(ipv4Regex.test('256.0.0.0')); // false
-
Date (YYYY-MM-DD)
RegEx:
^(\d{4})-(\d{2})-(\d{2})$
<code class="language-javascript">const dateRegex = /^(\d{4})-(\d{2})-(\d{2})$/; console.log(dateRegex.test('2022-04-25')); // true console.log(dateRegex.test('22-04-25')); // false
-
24 Hour Time (hh:mm)
RegEx:
^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$
<code class="language-javascript">const timeRegex = /^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/; console.log(timeRegex.test('23:59')); // true console.log(timeRegex.test('24:59')); // false
-
Card CVV
RegEx:
^[0-9]{3,4}$
<code class="language-javascript">const cardCVVRegex = /^[0-9]{3,4}$/; console.log(cardCVVRegex.test('123')); // true console.log(cardCVVRegex.test('1234')); // true
-
Credit Card Expiration Date (MM/YYYY)
RegEx:
^(0[1-9]|1[0-2])\/(20)\d{2}$
<code class="language-javascript">const expirationDateRegex = /^(0[1-9]|1[0-2])\/(20)\d{2}$/; console.log(expirationDateRegex.test('06/2022')); // true console.log(expirationDateRegex.test('13/2022')); // false
-
Credit Card Expiry Date (MM/YY)
RegEx:
(0[1-9]|10|11|12)\/[0-9]{2}|\.
<code class="language-javascript">const expiryDateRegex = /(0[1-9]|10|11|12)\/[0-9]{2}|\./; console.log(expiryDateRegex.test('06/22')); // true console.log(expiryDateRegex.test('13/23')); // false
-
Credit Card Number (Visa, Mastercard, American Express, Discover)
RegEx:
^(?:4[0-9]{12}(?:[0-9]{3})?|[25][1-7][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$
<code class="language-javascript">const creditCardRegex = /^(?:4[0-9]{12}(?:[0-9]{3})?|[25][1-7][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/; console.log(creditCardRegex.test('4111111111111111')); // true console.log(creditCardRegex.test('6011123456789011')); // true
-
Amex Card Number
RegEx:
^3[47][0-9]{13}$
<code class="language-javascript">const amexCardRegex = /^3[47][0-9]{13}$/; console.log(amexCardRegex.test('377400111111115')); // true console.log(amexCardRegex.test('376000000000006')); // true
-
BCGlobal Card Number
RegEx:
^(6541|6556)[0-9]{12}$
<code class="language-javascript">const bcglobalCardRegex = /^(6541|6556)[0-9]{12}$/; console.log(bcglobalCardRegex.test('6556123456789012')); // true console.log(bcglobalCardRegex.test('6556123456789006')); // true
-
Carte Blanche Card Number
RegEx:
^389[0-9]{11}$
<code class="language-javascript">const carteBlancheCardRegex = /^389[0-9]{11}$/; console.log(carteBlancheCardRegex.test('38912345678909')); // true console.log(carteBlancheCardRegex.test('30569309025904')); // false
-
Diners Club Card Number
RegEx:
^3(?:0[0-5]|[68][0-9])[0-9]{11}$
<code class="language-javascript">const dinersClubCardRegex = /^3(?:0[0-5]|[68][0-9])[0-9]{11}$/; console.log(dinersClubCardRegex.test('30569309025904')); // true console.log(dinersClubCardRegex.test('38520000023237')); // true
-
Discover Card Number
RegEx:
^65[4-9][0-9]{13}|64[4-9][0-9]{13}|6011[0-9]{12}|(622(?:12[6-9]|1[3-9][0-9]|[2-8][0-9][0-9]|9[01][0-9]|92[0-5])[0-9]{10})$
<code class="language-javascript">const discoverCardRegex = /^65[4-9][0-9]{13}|64[4-9][0-9]{13}|6011[0-9]{12}|(622(?:12[6-9]|1[3-9][0-9]|[2-8][0-9][0-9]|9[01][0-9]|92[0-5])[0-9]{10})$/; console.log(discoverCardRegex.test('6011111111111117')); // true console.log(discoverCardRegex.test('6011000990139424')); // true
-
Insta Payment Card Number
RegEx:
^63[7-9][0-9]{13}$
<code class="language-javascript">const instaPaymentCardRegex = /^63[7-9][0-9]{13}$/; console.log(instaPaymentCardRegex.test('6377820200251698')); // true console.log(instaPaymentCardRegex.test('6377820200251011')); // true
-
JCB Card Number
RegEx:
^(?:2131|1800|35\d{3})\d{11}$
<code class="language-javascript">const jcbCardRegex = /^(?:2131|1800|35\d{3})\d{11}$/; console.log(jcbCardRegex.test('3566000020000410')); // true console.log(jcbCardRegex.test('3530111333300000')); // true
-
Korean Local Card Number
RegEx:
^9[0-9]{15}$
<code class="language-javascript">const koreanLocalCardRegex = /^9[0-9]{15}$/; console.log(koreanLocalCardRegex.test('9111111111111111')); // true console.log(koreanLocalCardRegex.test('9011123456789011')); // true
-
Laser Card Number
RegEx:
^(6304|6706|6709|6771)[0-9]{12,15}$
<code class="language-javascript">const laserCardRegex = /^(6304|6706|6709|6771)[0-9]{12,15}$/; console.log(laserCardRegex.test('6304111111111111')); // true console.log(laserCardRegex.test('6709123456789011')); // true
-
Maestro Card Number
RegEx:
^(5018|5020|5038|6304|6759|6761|6763)[0-9]{8,15}$
<code class="language-javascript">const maestroCardRegex = /^(5018|5020|5038|6304|6759|6761|6763)[0-9]{8,15}$/; console.log(maestroCardRegex.test('5018111111111111')); // true console.log(maestroCardRegex.test('6759123456789011')); // true
-
Master Card Number
RegEx:
^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$
<code class="language-javascript">const masterCardRegex = /^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/; console.log(masterCardRegex.test('5425233430109903')); // true console.log(masterCardRegex.test('2223000048410010')); // true
-
Solo Card Number
RegEx:
^(6334|6767)[0-9]{12}|(6334|6767)[0-9]{14}|(6334|6767)[0-9]{15}$
<code class="language-javascript">const soloCardRegex = /^(6334|6767)[0-9]{12}|(6334|6767)[0-9]{14}|(6334|6767)[0-9]{15}$/; console.log(soloCardRegex.test('6334101999990016')); // true console.log(soloCardRegex.test('6767123456789011')); // true
-
Switch Card Number
RegEx:
^(4903|4905|4911|4936|6333|6759)[0-9]{12}|(4903|4905|4911|4936|6333|6759)[0-9]{14}|(4903|4905|4911|4936|6333|6759)[0-9]{15}|564182[0-9]{10}|564182[0-9]{12}|564182[0-9]{13}|633110[0-9]{10}|633110[0-9]{12}|633110[0-9]{13}$
<code class="language-javascript">const switchCardRegex = /^(4903|4905|4911|4936|6333|6759)[0-9]{12}|(4903|4905|4911|4936|6333|6759)[0-9]{14}|(4903|4905|4911|4936|6333|6759)[0-9]{15}|564182[0-9]{10}|564182[0-9]{12}|564182[0-9]{13}|633110[0-9]{10}|633110[0-9]{12}|633110[0-9]{13}$/; console.log(switchCardRegex.test('6331101999990016')); // true console.log(switchCardRegex.test('6011123456789011')); // false
-
Union Pay Card Number
RegEx:
^(62[0-9]{14,17})$
<code class="language-javascript">const unionPayCardRegex = /^(62[0-9]{14,17})$/; console.log(unionPayCardRegex.test('6292270001349812')); // true console.log(unionPayCardRegex.test('629227000134981211')); // true
-
Visa Card Number
RegEx:
^4[0-9]{12}(?:[0-9]{3})?$
<code class="language-javascript">const visaCardRegex = /^4[0-9]{12}(?:[0-9]{3})?$/; console.log(visaCardRegex.test('4111111111111111')); // true console.log(visaCardRegex.test('6011123456789011')); // false
-
Visa Master Card Number
RegEx:
^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14})$
<code class="language-javascript">const visaMasterCardRegex = /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14})$/; console.log(visaMasterCardRegex.test('4111111111111111')); // true console.log(visaMasterCardRegex.test('6011123456789011')); // false