Regular Expressions 101

Save & Share

  • Regex Version: ver. 5
  • Update Regex
    ctrl+⇧+s
  • Save new Regex
    ctrl+s
  • Add to Community Library

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8
  • .NET 7.0 (C#)
  • Rust
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests

Tools

Sponsors
There are currently no sponsors. Become a sponsor today!
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Non-capturing group
    (?:...)
  • Capturing group
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression

~
~
gm

Test String

Code Generator

Generated Code

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String[] args) { final String regex = "^\\s*\\d{1,3}(?:\\n(?!\\s*\\d{1,3}\\n).*){4}"; final String string = " تحميل ملف الطباعة تعليمات طباعـــة\n" + " 1 / 4 \n" + " \n" + "Main Report\n" + " \n" + " 25%\n" + " 50%\n" + " 75%\n" + " 100%\n" + " 125%\n" + " 150%\n" + " 200%\n" + " 300%\n" + " 400%\n" + " تقرير بيانات الطلاب الذين سددوا المصروفات الدراسية\n" + " عن طريق منافذ الدفع البنكي 2019-2020 \n" + "المديرية \n" + "المرحلة\n" + ":\n" + ":\n" + "الإدارة \n" + "التبعية\n" + ":\n" + ":\n" + "كود الطالب\n" + "جهة الدفع\n" + "رقم قومي الطالب\n" + "اسم الطالب\n" + "اعدادى\n" + "رسمى\n" + "اسم المدرسة\n" + ":\n" + "م\n" + "مطروح\n" + "الحمام\n" + "اولاد مسعود الاعدادية المشتركة\n" + "الصف\n" + ":\n" + "الصف الأول\n" + " 1\n" + " 458316219 \n" + " 30709101600371 \n" + "ابراهيم وليد ابراهيم ابوالحمد\n" + "منافذ فورى\n" + " 2\n" + " 458361688 \n" + " 30702263300318 \n" + "احمد ابوالريش فرج عبدالله\n" + "منافذ فورى\n" + " 3\n" + " 458312720 \n" + " 30703143300418 \n" + "اسلام فتحى محمد ناجى\n" + "منافذ فورى\n" + " 4\n" + " 458790904 \n" + " 30606101802299 \n" + "اسلام نصار حسين نصار حسين عبد الونيس\n" + "منافذ فورى\n" + " 5\n" + " 458312908 \n" + " 30612013300259 \n" + "ايمن راضى صالح سلومه\n" + "منافذ فورى\n" + " 6\n" + " 458884564 \n" + " 30802203300186 \n" + "بسمه محمد ابراهيم ظدم\n" + "منافذ فورى\n" + " 7\n" + " 477625786 \n" + " 30708263300235 \n" + "بشار نصر الله مصوف السايب\n" + "منافذ فورى\n" + " 8\n" + " 458805339 \n" + " 30708203300708 \n" + "بشرى محمد عبدالناصر عبدالرؤوف رحمى\n" + "منافذ فورى\n" + " 9\n" + " 458707736 \n" + " 30711103300663 \n" + "جنات منصور مسعود ابوسيف\n" + "منافذ فورى\n" + " 10\n" + " 458884629 \n" + " 30801013303115 \n" + "حكيم عبدالقادر فرج قنديل\n" + "منافذ فورى\n" + " 11\n" + " 464285926 \n" + " 30801121603028 \n" + "روان ابراهيم محمد محمد قطب\n" + "منافذ فورى\n" + " 12\n" + " 459700550 \n" + " 30707150204055 \n" + "سعيد نوح قوية نصر\n" + "منافذ فورى\n" + " 13\n" + " 458804725 \n" + " 30702253300379 \n" + "عبدالرحمن ابراهيم عبدالرؤوف رحمى\n" + "منافذ فورى\n" + " 14\n" + " 457185700 \n" + " 30702013300096 \n" + "عبدالله حسين رضوان يونس\n" + "منافذ فورى\n" + " 15\n" + " 458707614 \n" + " 30803083300515 \n" + "عبدالناصر خميس محمد عقيل\n" + "منافذ فورى\n" + " 16\n" + " 458312757 \n" + " 30707113300427 \n" + "عبير على عبدالرؤف رحمى\n" + "منافذ فورى\n" + " 17\n" + " 458361421 \n" + " 30711153300478 \n" + "على حامد راغب زايد\n" + "منافذ فورى\n" + " 18\n" + " 446292331 \n" + " 30605243300073 \n" + "فارس عطيه عباس بسيس\n" + "منافذ فورى\n" + " 19\n" + " 463507046 \n" + " 30608183300574 \n" + "فارس فرج شحات قنديل\n" + "منافذ فورى\n" + " 20\n" + " 458810352 \n" + " 30701283300059 \n" + "كريم جبريل سليمان غالب\n" + "منافذ فورى\n" + " 21\n" + " 467915100 \n" + " 30709161801074 \n" + "كريم عاطف عبدالباسط حجازى\n" + "منافذ فورى\n" + " 22\n" + " 458361712 \n" + " 30702263302396 \n" + "محمد ابوالريش فرج عبدالله\n" + "منافذ فورى\n" + "2020/06/12\n" + "Page 1 of 4\n" + "مسئول شئون الطلاب\n" + "خاتم \n" + "الشعار\n" + "مدير المدرسة\n" + " 2015© جميع الحقوق محفوظة لمركز معلومات -وزارة التربية والتعليم"; final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE); final Matcher matcher = pattern.matcher(string); while (matcher.find()) { System.out.println("Full match: " + matcher.group(0)); for (int i = 1; i <= matcher.groupCount(); i++) { System.out.println("Group " + i + ": " + matcher.group(i)); } } } }

Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html