Regular Expressions 101

Save & Share

  • Regex Version: ver. 49
  • 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

/
/
g

Test String

Code Generator

Generated Code

# coding=utf8 # the above tag defines encoding for this document and is for Python 2.x compatibility import re regex = r"(?<=\<span\>).*?(?=\<\/span\>)" test_str = "<meta http-equiv=\\\"Content-Type\\\" content=\\\"text/html; charset=utf-8\\\"><div dir=\\\"ltr\\\"><p class=\\\"MsoNormal\\\" style=\\\"margin:0in 0in 12pt;font-size:11pt;font-family:Calibri,sans-serif\\\"><span style=\\\"font-family:&quot;Times New Roman&quot;,serif\\\">Kính gửi Quý khách: Bùi Thị Nở<br>\\r\\n<br>\\r\\nCông ty Cổ phần INSMART/ Công ty Bảo hiểm Bưu điện Thăng Long trân trọng thông\\r\\nbáo: Hồ sơ yêu cầu bồi thường của Quý khách đã được tiếp nhận với nội dung chi\\r\\ntiết.</span></p>\\r\\n\\r\\n<table class=\\\"gmail-MsoNormalTable\\\" border=\\\"1\\\" cellspacing=\\\"0\\\" cellpadding=\\\"0\\\">\\r\\n <tbody><tr>\\r\\n <td width=\\\"15%\\\" nowrap=\\\"\\\" style=\\\"width:15%;padding:3.75pt\\\">\\r\\n <p class=\\\"MsoNormal\\\" align=\\\"center\\\" style=\\\"text-align:center;margin:0in;font-size:11pt;font-family:Calibri,sans-serif\\\"><strong>Số hồ sơ</strong> </p>\\r\\n </td>\\r\\n <td width=\\\"34%\\\" nowrap=\\\"\\\" style=\\\"width:34%;padding:3.75pt\\\">\\r\\n <p class=\\\"MsoNormal\\\" align=\\\"center\\\" style=\\\"text-align:center;margin:0in;font-size:11pt;font-family:Calibri,sans-serif\\\"><strong>Họ và tên NĐBH</strong> </p>\\r\\n </td>\\r\\n <td width=\\\"33%\\\" nowrap=\\\"\\\" style=\\\"width:33%;padding:3.75pt\\\">\\r\\n <p class=\\\"MsoNormal\\\" align=\\\"center\\\" style=\\\"text-align:center;margin:0in;font-size:11pt;font-family:Calibri,sans-serif\\\"><strong>Họ và tên nhân viên</strong> </p>\\r\\n </td>\\r\\n <td width=\\\"28%\\\" nowrap=\\\"\\\" style=\\\"width:28%;padding:3.75pt\\\">\\r\\n <p class=\\\"MsoNormal\\\" align=\\\"center\\\" style=\\\"text-align:center;margin:0in;font-size:11pt;font-family:Calibri,sans-serif\\\"><strong>Số tiền yêu cầu BT</strong> </p>\\r\\n </td>\\r\\n <td width=\\\"15%\\\" nowrap=\\\"\\\" style=\\\"width:15%;padding:3.75pt\\\">\\r\\n <p class=\\\"MsoNormal\\\" align=\\\"center\\\" style=\\\"text-align:center;margin:0in;font-size:11pt;font-family:Calibri,sans-serif\\\"><strong>Ngày nhận</strong> </p>\\r\\n </td>\\r\\n </tr>\\r\\n <tr>\\r\\n <td style=\\\"padding:3.75pt\\\">\\r\\n <p class=\\\"MsoNormal\\\" align=\\\"center\\\" style=\\\"text-align:center;margin:0in;font-size:11pt;font-family:Calibri,sans-serif\\\"><span style=\\\"font-family:&quot;Times New Roman&quot;,serif\\\">1959491</span> </p>\\r\\n </td>\\r\\n <td style=\\\"padding:3.75pt\\\">\\r\\n <p class=\\\"MsoNormal\\\" align=\\\"center\\\" style=\\\"text-align:center;margin:0in;font-size:11pt;font-family:Calibri,sans-serif\\\"><span style=\\\"font-family:&quot;Times New Roman&quot;,serif\\\">Bùi\\r\\n Thị Nở</span> </p>\\r\\n </td>\\r\\n <td style=\\\"padding:3.75pt\\\">\\r\\n <p class=\\\"MsoNormal\\\" align=\\\"center\\\" style=\\\"text-align:center;margin:0in;font-size:11pt;font-family:Calibri,sans-serif\\\"><span style=\\\"font-family:&quot;Times New Roman&quot;,serif\\\">Bùi\\r\\n Thị Nở</span> </p>\\r\\n </td>\\r\\n <td style=\\\"padding:3.75pt\\\">\\r\\n <p class=\\\"MsoNormal\\\" align=\\\"center\\\" style=\\\"text-align:center;margin:0in;font-size:11pt;font-family:Calibri,sans-serif\\\"><span style=\\\"font-family:&quot;Times New Roman&quot;,serif\\\">298,100VND</span> </p>\\r\\n </td>\\r\\n <td style=\\\"padding:3.75pt\\\">\\r\\n <p class=\\\"MsoNormal\\\" align=\\\"center\\\" style=\\\"text-align:center;margin:0in;font-size:11pt;font-family:Calibri,sans-serif\\\"><span style=\\\"font-family:&quot;Times New Roman&quot;,serif\\\">02/03/2023</span> </p>\\r\\n </td>\\r\\n </tr>\\r\\n</tbody></table>\\r\\n\\r\\n<p class=\\\"MsoNormal\\\" style=\\\"margin:0in;font-size:11pt;font-family:Calibri,sans-serif\\\"><span style=\\\"font-family:&quot;Times New Roman&quot;,serif\\\"><br>\\r\\nĐể đảm bảo quyền lợi bảo hiểm được bồi thường đúng và đầy đủ, Quý khách vui\\r\\nlòng bổ sung các chứng từ theo tài liệu đính kèm email này.<br>\\r\\n<br>\\r\\n<strong><i>Lưu ý:</i></strong> </span></p>\\r\\n\\r\\n<ul type=\\\"disc\\\" style=\\\"margin-bottom:0in\\\">\\r\\n <li class=\\\"MsoNormal\\\" style=\\\"margin:0in;font-size:11pt;font-family:Calibri,sans-serif\\\"><span style=\\\"font-family:&quot;Times New Roman&quot;,serif\\\">Sau\\r\\n ngày 20/03/2023, nếu Insmart chưa nhân được thông tin phản hồi của Quý\\r\\n khách, hồ sơ sẽ được giải quyết bồi thường dựa trên chứng từ hiện có.</span></li>\\r\\n <li class=\\\"MsoNormal\\\" style=\\\"margin:0in;font-size:11pt;font-family:Calibri,sans-serif\\\"><span style=\\\"font-family:&quot;Times New Roman&quot;,serif\\\">Chứng\\r\\n từ cung cấp bản scan/bản ảnh phải là bản màu đầy đủ thông tin như bản gốc,\\r\\n Công ty bảo hiểm có quyền yêu cầu đối chiếu trong một số trường hợp cần\\r\\n thiết.</span></li>\\r\\n <li class=\\\"MsoNormal\\\" style=\\\"margin:0in;font-size:11pt;font-family:Calibri,sans-serif\\\"><span style=\\\"font-family:&quot;Times New Roman&quot;,serif\\\">Đối với\\r\\n hồ sơ yêu cầu nộp chứng từ bản gốc, vui lòng in email này gửi cùng hồ sơ.</span></li>\\r\\n</ul>\\r\\n\\r\\n<p class=\\\"MsoNormal\\\" style=\\\"margin:0in;font-size:11pt;font-family:Calibri,sans-serif\\\"><span style=\\\"font-family:&quot;Times New Roman&quot;,serif\\\">Trường hợp cần trao đổi thêm, Quý khách vui lòng gọi đến\\r\\nTổng đài phục vụ dành riêng cho khách hàng số <strong><span style=\\\"color:red\\\">1900\\r\\n636 760</span></strong>; hoặc gửi email theo địa chỉ <a href=\\\"mailto:helpdesk.hanoi1@insmart.com.vn\\\" style=\\\"color:rgb(5,99,193)\\\">helpdesk.hanoi1@insmart.com.vn</a>\\r\\n<br>\\r\\n<br>\\r\\nKính chúc quý khách và gia đình luôn mạnh khỏe, hạnh phúc!<br>\\r\\n<br>\\r\\nTrân trọng kính chào!<br>\\r\\n<br>\\r\\n<strong>Công ty Cổ phần INSMART</strong><br>\\r\\nĐịa chỉ: Tầng 25, Ngọc Khánh Plaza, Số 1 Phạm Huy Thông, Phường Ngọc Khánh,\\r\\nQuận Ba Đình, TP Hà Nội<br>\\r\\nCall center: 1900 636 760<br>\\r\\nEmail: <a href=\\\"mailto:helpdesk.hanoi1@insmart.com.vn\\\" style=\\\"color:rgb(5,99,193)\\\">helpdesk.hanoi1@insmart.com.vn</a>\\r\\n<br>\\r\\n<br>\\r\\n<i>* Quý khách lưu ý: Đây là email được gửi tự động, Quý khách vui lòng không\\r\\nhồi đáp lại email này.</i><br>\\r\\n<i>* Công ty Cổ Phần Insmart được chỉ định để giải quyết quyền lợi bảo hiểm sức\\r\\nkhỏe của Công ty Bảo hiểm Bưu điện Thăng Long.</i></span></p></div>\\r" matches = re.finditer(regex, test_str) for matchNum, match in enumerate(matches, start=1): print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group())) for groupNum in range(0, len(match.groups())): groupNum = groupNum + 1 print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum))) # Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.

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 Python, please visit: https://docs.python.org/3/library/re.html