Ana içeriğe geç
FreeOnlineTools Go
Türkçe
explanation

Regular Expression Nedir? Tam Açıklama

By FreeOnlineTools Team · Updated 2026-09-02

Quick Answer

Regular expression, bir dizgi setini açıklayan kalıptır. Literal character ve özel anlamlara sahip metacharacter (*, +, ?, ., ^, $, [], (), {}, |, \) kullanır. Regex validation, search, extraction ve replacement için kullanılır. Ücretsiz Regex Tester kullanın.

Introduction

Regular expression (regex veya regexp), bir search kalıbı tanımlayan karakter dizisidir. Kalıp, metni bulmak, match etmek veya değiştirmek için string-search algoritmaları tarafından kullanılır. Regular expression'lar 1950'lerde formal dil teorisinde (Stephen Kleene) ortaya çıktı ve 1970'lerde Unix metin araçlarına (grep, sed, awk) adopt edildi. Bugün regex pratik olarak her programlama dili ve metin editörüne yerleşiktir.

Step by Step

  1. Understand literal and metacharacters

    Literal characters (a, b, 1, @) match themselves. Metacharacters have special meanings: . matches any character, * means zero or more, + means one or more, ? means zero or one, ^ matches start, $ matches end.

  2. Learn character classes

    Square brackets [] define a character class — [aeiou] matches any vowel, [0-9] matches any digit, [^0-9] matches any non-digit. Shorthand classes: \d (digit), \w (word character), \s (whitespace), and their uppercase negations.

  3. Use quantifiers

    Quantifiers specify how many times a pattern repeats: * (0+), + (1+), ? (0 or 1), {n} (exactly n), {n,} (n+), {n,m} (n to m). Greedy by default; add ? for lazy matching (e.g., *?).

  4. Group and anchor

    Parentheses () create capture groups. Alternation | matches either side (cat|dog). Anchors ^ and $ match start and end of string. Use these to build complex patterns from simpler ones.

Examples

Match an email-like pattern

Input: Pattern: [a-z]+@[a-z]+\.[a-z]+

Output: Matches: alice@example.com, bob@test.org

Match a phone number format

Input: Pattern: \d{3}-\d{3}-\d{4}

Output: Matches: 555-123-4567

Extract key-value pairs

Input: Pattern: (\w+)=(\w+)

Output: Matches 'key=value' with group 1 as key, group 2 as value

Common Problems

  • Greedy matching over-consumes —.* matches as much as possible. Use .*? for lazy matching to find the shortest match.
  • Forgetting to escape special characters —., *, +, ?, etc. are special. Use \ to match them literally (e.g., \. matches a literal dot).
  • Catastrophic backtracking —patterns with nested quantifiers (e.g., (a+)+) can take exponential time on certain inputs, causing ReDoS attacks.
  • Over-matching —without anchors (^ and $), a pattern matches anywhere. Use ^...$ to match the entire string.

Tips

  • Start simple and add complexity incrementally —debugging a complex regex all at once is very hard.
  • Use a regex tester to experiment with patterns against sample text —see matches highlighted in real time.
  • Comment complex regexes using extended mode (/x flag in some engines) or break them into named parts.
  • Use our Regex Tester to test patterns instantly in your browser —no signup, fully private.

Related Tools

Related Guides

References