🔍 रेगुलर एक्सप्रेशन ट्यूटोरियल: जीरो से हीरो तक

Regular expressions (regex) are one of the most powerful tools in a developer's arsenal—and one of the most feared. This tutorial breaks down regex into digestible pieces, building from basic concepts to patterns you can use in real projects.

🎯 By the end of this tutorial, you'll be able to: Write patterns for email validation, password requirements, phone numbers, and more. You'll understand quantifiers, groups, lookaheads, and know when to use (or avoid) regex.

रेगुलर एक्सप्रेशन क्या हैं?

Regular expressions are patterns that describe sets of strings. They're used to:

मूल बातें: शाब्दिक पात्र

The simplest regex is just literal text:

Pattern: hello
Matches: "hello" in "hello world"
Does not match: "Hello" (case-sensitive by default)

चरित्र वर्ग

Match any single character from a set:

Pattern Matches Example
[abc] a, b, or c "cat" matches c
[a-z] Any lowercase letter "Hello" matches e, l, l, o
[A-Z] Any uppercase letter "Hello" matches H
[0-9] Any digit "abc123" matches 1, 2, 3
[^abc] NOT a, b, or c "dog" matches d, o, g

आशुलिपि चरित्र वर्ग

Shorthand Equivalent Description
\d [0-9] Any digit
\D [^0-9] Not a digit
\w [a-zA-Z0-9_] Word character
\W [^a-zA-Z0-9_] Not a word character
\s [ \t\n\r] Whitespace
\S [^ \t\n\r] Not whitespace
. (almost anything) Any character except newline

परिमाणक: कितने?

Quantifier Meaning Example
* 0 or more ab*c matches "ac", "abc", "abbc"
+ 1 or more ab+c matches "abc", "abbc", not "ac"
? 0 or 1 colou?r matches "color" and "colour"
{n} Exactly n \d{4} matches "2026"
{n,} n or more \d{2,} matches "12", "123", "1234"
{n,m} Between n and m \d{2,4} matches "12", "123", "1234"

✅ लालची बनाम आलसी

Quantifiers are "greedy" by default—they match as much as possible. Add ? to make them "lazy" (match as little as possible). .* vs .*?

एंकर: कहां मिलान करें

Anchor Position Example
^ Start of string/line ^Hello matches "Hello world", not "Say Hello"
$ End of string/line world$ matches "Hello world", not "world peace"
\b Word boundary \bcat\b matches "cat" but not "category"

समूह और कैप्चरिंग

Parentheses create groups for:

उदाहरण: समूहों पर कब्जा करना

Pattern: (\d{3})-(\d{3})-(\d{4})
Input: "555-123-4567"

Group 0 (full match): "555-123-4567"
Group 1: "555"
Group 2: "123"
Group 3: "4567"

गैर-कैप्चरिंग समूह

Use (?:...) when you need grouping but don't need to capture:

(?:https?|ftp):// // Groups but doesn't capture

व्यावहारिक पैटर्न

ईमेल सत्यापन (बुनियादी)

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Matches: [email protected], [email protected]

फ़ोन नंबर (यूएस)

^\(?(\d{3})\)?[-.\s]?(\d{3})[-.\s]?(\d{4})$

Matches: (555) 123-4567, 555-123-4567, 555.123.4567

पासवर्ड (8+ अक्षर, अपरकेस, लोअरकेस, संख्या)

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$

Uses lookaheads to require different character types

यूआरएल

https?://[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}(/\S*)?

Matches: http://example.com, https://sub.domain.com/path

आगे देखो और पीछे देखो

Match based on what comes before or after, without including it in the match:

Type Syntax Description
Positive Lookahead (?=...) Followed by ...
Negative Lookahead (?!...) NOT followed by ...
Positive Lookbehind (?<=...) Preceded by ...
Negative Lookbehind (? NOT preceded by ...
// Match "foo" only if followed by "bar"
foo(?=bar) // matches "foo" in "foobar", not in "foobaz"

// Match $ amount (digit preceded by $)
(?<=\$)\d+ // matches "100" in "$100"

झंडे/संशोधक

Flag Description
i Case-insensitive matching
g Global - find all matches, not just first
m Multiline - ^ and $ match line boundaries
s Dotall - . matches newlines too

सामान्य गलतियां

🔧 अपने पैटर्न का परीक्षण करें

Use our free RegEx Tester to experiment with patterns and see matches in real-time.

रेगेक्स परीक्षक खोलें →

रेगेक्स का उपयोग कब नहीं करना चाहिए

निष्कर्ष

Regular expressions are like a superpower—incredibly useful once you learn them, but easy to misuse. Start with simple patterns, test incrementally, and don't be afraid to use comments or break complex patterns into pieces.

The key to mastering regex is practice. Use the patterns in this tutorial as building blocks, experiment with variations, and soon you'll be writing patterns confidently.