Regular Expressions 101

Save & Share

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
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
  • Match everything enclosed
    (?:...)
  • Capture everything enclosed
    (...)
  • 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
No Match

r"
"
gm

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"闹钟|叫.{0,3}[|早|醒|我|起]+" test_str = ("叫一下我\n" "叫一下醒\n" "叫我一下醒\n" "叫醒服务。\n" "明天早上六点叫我起床。\n" "叫早。\n" "嗯,明天五点叫醒啊。\n" "嗯,明天早上七点半叫醒一下。\n" "嗯,四点半叫醒好。\n" "给我ianoncall。\n" "嗯,明天想有个叫早叫醒服务。\n" "就是定个闹钟,早上五点。\n" "八点半叫醒。\n" "早上九点叫醒。\n" "嗯,我想说叫早。\n" "嗯,下午六点下午四点三十五叫醒,谢谢。\n" "七点十五分叫醒确定吗,确定吗?\n" "嗯,可以帮我设置一个叫醒服务吗?\n" "亲,明天早上五点叫醒。\n" "的,明天早上帮我叫醒。\n" "一点十五叫我起床。\n" "六点半叫我起床。\n" "嗯,早上六点叫我起床。\n" "嗯,我想明天早上六点半叫早。\n" "这个明天早上叫早二零八。\n" "我想提供一个叫醒服务。\n" "一个叫醒服务。\n" "您好,有叫醒服务吗?\n" "六点半叫醒。\n" "你好,明天给我叫醒三点叫醒好吧。\n" "哎,你好,我要一个明天早上六点的叫早服务。\n" "八点的叫醒。\n" "预定明天早上的早餐一个。\n" "哎,你好,明天早上麻烦你叫一下我。\n" "你们哪六点叫醒吗?谢谢啊。\n" "叫早服务。\n" "我要叫醒服务。\n" "嗯,那个你两室一个是能不能叫个早?\n" "我想订闹钟。\n" "嗯,十一点半叫我起床。\n" "嗯,明天五点半叫醒我。\n" "好,麻烦您帮我设置一下叫醒服务。\n" "明天早上能不能叫醒啊?\n" "嗯,明天早上帮您看八点半。\n" "嗯嗯,下午六点钟叫我一下。\n" "四点半叫我起床,四点半。\n" "请明天早上七点十分来一个叫醒服务。\n" "帮我预约明天早上七点的叫醒。\n" "您这早上五点三十分叫醒。\n" "那个八六零,我这里是明天早上六点二十叫醒服务。\n" "明天早上给我一个叫醒。\n" "帮我订一个二十七号下午三点的叫醒。\n" "啊,早上七点三十叫醒。\n" "明天上午七点三十分叫早六一九号房。\n" "您好,明天五点五十叫醒服务。\n" "哎,你这样你明天早上给我一个叫醒好吗?\n" "嗯,给我的那个定明天早上的闹钟。\n" "帮我定明天早上三点的叫醒。\n" "明天早上叫醒。\n" "五点的叫醒服务,帮忙给我改一下改成五点半的。\n" "预约一个叫早服务。\n" "嗯,你好,麻烦明天早上八点叫醒一下。\n" "哎,成交服务叫醒服务。\n" "嗯,帮我订一个八点和八点五十的叫醒。\n" "啊,喂,你好,能帮我那个明天早上七点半叫醒我吧。\n" "嗯,你好,我想要一个明天早上六点钟的叫醒服务。\n" "嗯,叫醒。\n" "嗯,需要帮我设置叫早服务。\n" "啊,明天早上帮我叫起好吗?\n" "哎,明天早上七点四十莫林。\n" "可以帮我设置莫林扣吗?\n" "六点十八分叫醒我号码。\n" "嗯,叫醒服务是吧?\n" "嗯,明天八点早上叫醒我可以吗?\n" "明天上午七点叫起叫醒。\n" "嗯,那个明天早上叫一个叫醒。\n" "你凌晨叫醒。\n" "嗯,明天叫醒服务啊?\n" "叫醒?\n" "明天早上七点半叫醒。\n" "明天早上五点叫醒一下。\n" "嗯,明天那个五点十五分叫醒。\n" "订个五点的叫醒服务。\n" "设置明天早上六点五十的叫醒服务。\n" "明天早上五点叫我一下吧。\n" "取消叫早。\n" "叫一个莫林?\n" "你好,明天早上请帮我叫一下早。\n" "嗯,帮我订一个八点五十的叫早。\n" "加钱那个叫醒服务。\n" "明天,明天叫醒。\n" "有一个今天下午三点的叫醒。\n" "八点叫醒。\n" "请帮我订一个叫醒闹钟。\n" "七幺七,明天早上八点叫醒。\n" "五点半叫醒。\n" "呃,给我设一个叫醒服务。\n" "明天早上五点半叫醒我。\n" "嗯,给我的订一个叫醒服务。\n" "嗯,四点钟叫醒。\n" "我您call。\n" "那个给我弄个七点十分的叫醒吧。\n" "嗯,明天早晨六点五十分叫醒。\n" "嗯,下午五点的叫醒。\n" "六点五十分叫醒。\n" "明天早上六点四十叫醒。\n" "嗯,你好,麻烦你叫我管管官家。\n" "嗯,叫醒服务。\n" "明天七点的叫醒我。\n" "呃,我要明天早上来个叫醒。") matches = re.finditer(regex, test_str, re.MULTILINE) 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