ðŸ§Đ
← āļāļĨāļąāļšāđ„āļ›āļ„āļđāđˆāļĄāļ·āļ­

Regex āļŠāļģāļŦāļĢāļąāļšāļœāļđāđ‰āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™: āļ§āļīāļ˜āļĩāļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āļ™āļīāļžāļˆāļ™āđŒāļ›āļĢāļāļ•āļī

· āđāļ—āđ‡āļ: regex-beginners, regular-expression-guide, regex-tutorial, regex-patterns, learn-regex

Regex āļŠāļģāļŦāļĢāļąāļšāļœāļđāđ‰āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™

āļ™āļīāļžāļˆāļ™āđŒāļ›āļĢāļāļ•āļī — regex — āļ„āļ·āļ­āļĢāļđāļ›āđāļšāļšāļ—āļĩāđˆāļ­āļ˜āļīāļšāļēāļĒāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ āļ”āđ‰āļ§āļĒ regex āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āļ„āđ‰āļ™āļŦāļēāļŠāļ•āļĢāļīāļ‡ āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ­āļīāļ™āļžāļļāļ• āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ āđāļĨāļ°āļ—āļģāļāļēāļĢāļ„āđ‰āļ™āļŦāļēāđāļĨāļ°āđāļ—āļ™āļ—āļĩāđˆāļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āđ‚āļ”āļĒāđƒāļŠāđ‰āļ™āļīāļžāļˆāļ™āđŒāļ—āļĩāđˆāļāļ°āļ—āļąāļ”āļĢāļąāļ”āđ€āļžāļĩāļĒāļ‡āļŦāļ™āļķāđˆāļ‡āđ€āļ”āļĩāļĒāļ§ āđ€āļĄāļ·āđˆāļ­āļ„āļļāļ“āđ€āļ‚āđ‰āļēāđƒāļˆāļžāļ·āđ‰āļ™āļāļēāļ™ regex āļˆāļ°āļāļĨāļēāļĒāđ€āļ›āđ‡āļ™āļŦāļ™āļķāđˆāļ‡āđƒāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļĩāđˆāļ—āļĢāļ‡āļžāļĨāļąāļ‡āļ—āļĩāđˆāļŠāļļāļ”āđƒāļ™āļŠāļļāļ”āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāļ‚āļ­āļ‡āļ„āļļāļ“

āļ™āļīāļžāļˆāļ™āđŒāļ›āļĢāļāļ•āļīāļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

regex āļ„āļ·āļ­āļĨāļģāļ”āļąāļšāļ‚āļ­āļ‡āļ­āļąāļāļ‚āļĢāļ°āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āļĢāļđāļ›āđāļšāļšāļāļēāļĢāļ„āđ‰āļ™āļŦāļē āļĢāļđāļ›āđāļšāļš \d{3}-\d{2}-\d{4} āļˆāļąāļšāļ„āļđāđˆāļāļąāļšāļŦāļĄāļēāļĒāđ€āļĨāļ‚āļ›āļĢāļ°āļāļąāļ™āļŠāļąāļ‡āļ„āļĄāļ‚āļ­āļ‡āļŠāļŦāļĢāļąāļāļŊ: āļŠāļēāļĄāļŦāļĨāļąāļ, āļĒāļąāļ•āļīāļ āļąāļ‡āļ„āđŒ, āļŠāļ­āļ‡āļŦāļĨāļąāļ, āļĒāļąāļ•āļīāļ āļąāļ‡āļ„āđŒ, āļŠāļĩāđˆāļŦāļĨāļąāļ

āđ€āļ­āđ‡āļ™āļˆāļīāļ™ regex āļĄāļĩāļ­āļĒāļđāđˆāđƒāļ™āļ āļēāļĐāļēāđ‚āļ›āļĢāđāļāļĢāļĄāđāļ—āļšāļ—āļļāļāļ āļēāļĐāļē — JavaScript, Python, Java, Ruby, Go — āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļĄāļĩāļāļēāļĢāļŠāļ™āļąāļšāļŠāļ™āļļāļ™āđƒāļ™āļ•āļąāļ§

āļ­āļąāļāļ‚āļĢāļ°āļ•āļēāļĄāļ•āļąāļ§āļ­āļąāļāļĐāļĢ

āļ­āļąāļāļ‚āļĢāļ°āļŠāđˆāļ§āļ™āđƒāļŦāļāđˆāļˆāļąāļšāļ„āļđāđˆāļāļąāļšāļ•āļąāļ§āđ€āļ­āļ‡ āļĢāļđāļ›āđāļšāļš cat āļˆāļąāļšāļ„āļđāđˆāļāļąāļšāļŠāļ•āļĢāļīāļ‡āļ•āļēāļĄāļ•āļąāļ§āļ­āļąāļāļĐāļĢ "cat" āļ—āļļāļāļ—āļĩāđˆāļ—āļĩāđˆāļ›āļĢāļēāļāļ

Pattern: cat
Matches: "cat" āđƒāļ™ "The cat sat on the mat."
Matches: "cat" āđƒāļ™ "catalog"

āļāļēāļĢāļˆāļąāļšāļ„āļđāđˆāļ•āļēāļĄāļ•āļąāļ§āļ­āļąāļāļĐāļĢāļ™āļąāđ‰āļ™āļ•āļĢāļ‡āđ„āļ›āļ•āļĢāļ‡āļĄāļēāđāļ•āđˆāļĄāļĩāļ‚āđ‰āļ­āļˆāļģāļāļąāļ” āļžāļĨāļąāļ‡āļ—āļĩāđˆāđāļ—āđ‰āļˆāļĢāļīāļ‡āļĄāļēāļˆāļēāļāļ­āļąāļāļ‚āļĢāļ°āļžāļīāđ€āļĻāļĐ

āļ­āļąāļāļ‚āļĢāļ°āļžāļīāđ€āļĻāļĐ

āļ­āļąāļāļ‚āļĢāļ°āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļĄāļĩāļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāļžāļīāđ€āļĻāļĐāđāļĨāļ°āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰ \ āđƒāļ™āļāļēāļĢ escape āđ€āļžāļ·āđˆāļ­āļˆāļąāļšāļ„āļđāđˆāļ•āļēāļĄāļ•āļąāļ§āļ­āļąāļāļĐāļĢ:

. ^ $ * + ? { } [ ] \ | ( )

āļ„āļĨāļēāļŠāļ­āļąāļāļ‚āļĢāļ°

āļ„āļĨāļēāļŠāļ­āļąāļāļ‚āļĢāļ°āļˆāļąāļšāļ„āļđāđˆāļŦāļ™āļķāđˆāļ‡āļ­āļąāļāļ‚āļĢāļ°āļˆāļēāļāđ€āļ‹āļ•

āļŠāļąāļāļāļĢāļ“āđŒāļ§āļ‡āđ€āļĨāđ‡āļšāđ€āļŦāļĨāļĩāđˆāļĒāļĄ

| āļĢāļđāļ›āđāļšāļš | āļˆāļąāļšāļ„āļđāđˆāļāļąāļš | |---------|---------| | [aeiou] | āļŠāļĢāļ°āđƒāļ”āđ† | | [0-9] | āļ•āļąāļ§āđ€āļĨāļ‚āđƒāļ”āđ† | | [a-zA-Z] | āļ•āļąāļ§āļ­āļąāļāļĐāļĢāđƒāļ”āđ† | | [^0-9] | āļ­āļąāļāļ‚āļĢāļ°āđƒāļ”āđ† āļ—āļĩāđˆāđ„āļĄāđˆāđƒāļŠāđˆāļ•āļąāļ§āđ€āļĨāļ‚ |

āļ„āļĨāļēāļŠāļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ„āļ§āđ‰āļĨāđˆāļ§āļ‡āļŦāļ™āđ‰āļē

| āļŠāļ§āđ€āļĨāļ‚ | āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ | |-----------|-------------| | \d | āļ•āļąāļ§āđ€āļĨāļ‚āđƒāļ”āđ† (āđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļš [0-9]) | | \w | āļ•āļąāļ§āļ­āļąāļāļĐāļĢ, āļ•āļąāļ§āđ€āļĨāļ‚ āļŦāļĢāļ·āļ­ underscore | | \s | āļŠāđˆāļ­āļ‡āļ§āđˆāļēāļ‡, tab, āļ‚āļķāđ‰āļ™āļšāļĢāļĢāļ—āļąāļ”āđƒāļŦāļĄāđˆ | | \D | āļ­āļąāļāļ‚āļĢāļ°āđƒāļ”āđ† āļ—āļĩāđˆāđ„āļĄāđˆāđƒāļŠāđˆāļ•āļąāļ§āđ€āļĨāļ‚ | | \W | āļ­āļąāļāļ‚āļĢāļ°āđƒāļ”āđ† āļ—āļĩāđˆāđ„āļĄāđˆāđƒāļŠāđˆāļ­āļąāļāļ‚āļĢāļ°āļ„āļģ | | \S | āļ­āļąāļāļ‚āļĢāļ°āđƒāļ”āđ† āļ—āļĩāđˆāđ„āļĄāđˆāđƒāļŠāđˆāļŠāđˆāļ­āļ‡āļ§āđˆāļēāļ‡ | | . | āļ­āļąāļāļ‚āļĢāļ°āđƒāļ”āđ† āļĒāļāđ€āļ§āđ‰āļ™āļ‚āļķāđ‰āļ™āļšāļĢāļĢāļ—āļąāļ”āđƒāļŦāļĄāđˆ |

āļ„āļ§āļ­āļ™āļ•āļīāđ„āļŸāđ€āļ­āļ­āļĢāđŒ

āļ„āļ§āļ­āļ™āļ•āļīāđ„āļŸāđ€āļ­āļ­āļĢāđŒāļ„āļ§āļšāļ„āļļāļĄāļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļāđˆāļ­āļ™āļŦāļ™āđ‰āļēāļ•āđ‰āļ­āļ‡āļ›āļĢāļēāļāļ

| āļ„āļ§āļ­āļ™āļ•āļīāđ„āļŸāđ€āļ­āļ­āļĢāđŒ | āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒ | āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ | āļˆāļąāļšāļ„āļđāđˆāļāļąāļš | |------------|---------|---------|---------| | * | āļĻāļđāļ™āļĒāđŒāļŦāļĢāļ·āļ­āļĄāļēāļāļāļ§āđˆāļē | a* | "", "a", "aa" | | + | āļŦāļ™āļķāđˆāļ‡āļŦāļĢāļ·āļ­āļĄāļēāļāļāļ§āđˆāļē | a+ | "a", "aa", "aaa" | | ? | āļĻāļđāļ™āļĒāđŒāļŦāļĢāļ·āļ­āļŦāļ™āļķāđˆāļ‡ | colou?r | "color", "colour" | | {3} | āļ•āļĢāļ‡ N | \d{3} | "123" | | {2,4} | āļĢāļ°āļŦāļ§āđˆāļēāļ‡ N āļ–āļķāļ‡ M | \d{2,4} | "12", "123", "1234" |

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡

\d+     → "42" āđƒāļ™ "Answer is 42"
https?://  → "http://" āđāļĨāļ° "https://"

āļˆāļļāļ”āļĒāļķāļ”

āļˆāļļāļ”āļĒāļķāļ”āļˆāļąāļšāļ„āļđāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ āđ„āļĄāđˆāđƒāļŠāđˆāļ­āļąāļāļ‚āļĢāļ°

| āļˆāļļāļ”āļĒāļķāļ” | āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒ | |--------|---------| | ^ | āļˆāļļāļ”āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ‚āļ­āļ‡āļŠāļ•āļĢāļīāļ‡ | | $ | āļˆāļļāļ”āļŠāļīāđ‰āļ™āļŠāļļāļ”āļ‚āļ­āļ‡āļŠāļ•āļĢāļīāļ‡ | | \b | āļ‚āļ­āļšāđ€āļ‚āļ•āļ‚āļ­āļ‡āļ„āļģ | | \B | āđ„āļĄāđˆāđƒāļŠāđˆāļ‚āļ­āļšāđ€āļ‚āļ•āļ‚āļ­āļ‡āļ„āļģ |

^hello   → āļˆāļąāļšāļ„āļđāđˆ "hello" āļ—āļĩāđˆāļˆāļļāļ”āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™
end$     → āļˆāļąāļšāļ„āļđāđˆ "end" āļ—āļĩāđˆāļˆāļļāļ”āļŠāļīāđ‰āļ™āļŠāļļāļ”āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™
\bword\b → āļˆāļąāļšāļ„āļđāđˆ "word" āđ€āļ›āđ‡āļ™āļ„āļģāđ€āļ•āđ‡āļĄ āđ„āļĄāđˆāđƒāļŠāđˆāļ āļēāļĒāđƒāļ™ "sword"

āļāļĨāļļāđˆāļĄāđāļĨāļ°āļāļēāļĢāđ€āļĨāļ·āļ­āļ

āļāļĨāļļāđˆāļĄāļˆāļąāļšāļ āļēāļž ( ) āļ”āļķāļ‡āļŠāđˆāļ§āļ™āļ—āļĩāđˆāļˆāļąāļšāļ„āļđāđˆ:

(\d{3})-(\d{4}) → "555-1234", āļˆāļąāļšāļ āļēāļž "555" āđƒāļ™āļāļĨāļļāđˆāļĄ 1, "1234" āđƒāļ™āļāļĨāļļāđˆāļĄ 2

āļāļĨāļļāđˆāļĄāđ„āļĄāđˆāļˆāļąāļšāļ āļēāļž (?: ) āļˆāļąāļ”āļāļĨāļļāđˆāļĄāđ‚āļ”āļĒāđ„āļĄāđˆāļ”āļķāļ‡:

(?:https?|ftp):// → "http://", "https://", "ftp://"

āļāļēāļĢāđ€āļĨāļ·āļ­āļ | āļ—āļģāļŦāļ™āđ‰āļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™ OR:

cat|dog|bird → āļˆāļąāļšāļ„āļđāđˆ "cat", "dog", āļŦāļĢāļ·āļ­ "bird"

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ Regex āđ€āļŠāļīāļ‡āļ›āļāļīāļšāļąāļ•āļī

| āļāļĢāļ“āļĩāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ | āļĢāļđāļ›āđāļšāļš | |----------|---------| | āđ‚āļ—āļĢāļĻāļąāļžāļ—āđŒāļŠāļŦāļĢāļąāļāļŊ | \d{3}-\d{3}-\d{4} | | āļ­āļĩāđ€āļĄāļĨ (āđāļšāļšāļ‡āđˆāļēāļĒ) | \S+@\S+\.\S+ | | āļ—āļĩāđˆāļ­āļĒāļđāđˆ IP | \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} | | āđāļŪāļŠāđāļ—āđ‡āļ | #[a-zA-Z]\w* | | āđ€āļ§āļĨāļē (HH:MM) | [01]\d|2[0-3]:[0-5]\d |

āļ§āļīāļ˜āļĩāļ—āļ”āļŠāļ­āļšāļĢāļđāļ›āđāļšāļš Regex

āļ—āļ”āļŠāļ­āļšāļĢāļđāļ›āđāļšāļšāđāļšāļšāđ‚āļ•āđ‰āļ•āļ­āļšāđ€āļŠāļĄāļ­:

  1. āļ›āđ‰āļ­āļ™āļĢāļđāļ›āđāļšāļš regex āļ‚āļ­āļ‡āļ„āļļāļ“
  2. āļ›āđ‰āļ­āļ™āļŠāļ•āļĢāļīāļ‡āļ—āļ”āļŠāļ­āļš
  3. āļ”āļđāļ§āđˆāļēāļŠāđˆāļ§āļ™āđƒāļ”āļˆāļąāļšāļ„āļđāđˆāđāļšāļšāđ€āļĢāļĩāļĒāļĨāđ„āļ—āļĄāđŒ
  4. āļ›āļĢāļąāļšāđāļ•āđˆāļ‡āđāļĨāļ°āļ—āļģāļ‹āđ‰āļģ

āđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­ regex tester āđ€āļžāļ·āđˆāļ­āļ—āļ”āļĨāļ­āļ‡āļāļąāļšāļĢāļđāļ›āđāļšāļš āļĄāļąāļ™āđ€āļ™āđ‰āļ™āļāļēāļĢāļˆāļąāļšāļ„āļđāđˆ āđāļŠāļ”āļ‡āļāļĨāļļāđˆāļĄāļˆāļąāļšāļ āļēāļž āđāļĨāļ°āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ„āļļāļ“āđ€āļ‚āđ‰āļēāđƒāļˆāļ­āļĒāđˆāļēāļ‡āđāļ™āđˆāļŠāļąāļ”āļ§āđˆāļēāđāļ•āđˆāļĨāļ°āļŠāđˆāļ§āļ™āļ‚āļ­āļ‡āļ™āļīāļžāļˆāļ™āđŒāļ‚āļ­āļ‡āļ„āļļāļ“āļ—āļģāļ­āļ°āđ„āļĢ

Regex āļŠāļģāļŦāļĢāļąāļšāļœāļđāđ‰āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™: āļ§āļīāļ˜āļĩāļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āļ™āļīāļžāļˆāļ™āđŒāļ›āļĢāļāļ•āļī - CoolTool