Regular Expressions 101

Save & Manage Regex

  • Current Version: 1
  • Save & Share
  • Community Library

Flavor

  • PCRE2 (PHP)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java
  • .NET 7.0 (C#)
  • Rust
  • PCRE (Legacy)
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests
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
  • 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
Processing...

Test String

Code Generator

Generated Code

import re regex = re.compile(r"(房间|卫生)*(收拾|清洁|打扫|清理|整理|换枕头|换床单)(房间|卫生|一下)*(垃圾)*", flags=re.MULTILINE) test_str = ("早餐\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" "WiFi\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" "嗯,WiFi怎么连接啊\n" "什么\n" "我想问一下是不会弄错,房间了,我订的是豪华大床双床房,这反这么小不限啊\n" "卫生在\n" "卫生袋\n" "我要一个袋子\n" "给送点餐巾纸,垃圾袋\n" "送点,餐巾纸过来\n" "呃,空调不制冷\n" "哎,我这要要早餐,你快一点\n" "我也没有,嗯\n" "我要早餐幺五幺五零八房间\n" "我这个早上怎么还没送过来啊\n" "送两瓶水\n" "好O\n" "告诉我WiFi密码\n" "那个我想问一下,我这插座没电\n" "嗯,再送一个充电器\n" "我一条浴巾\n" "苹果充电线\n" "送两双拖鞋\n" "充电器吗\n" "呃,你送一根华为的,送一根安卓的吧,嗯\n" "安卓的\n" "有的送两瓶水上的\n" "啊,你好,那个二零零二帮我送两支矿泉水上来好吗?二零零二\n" "我们唉我们打前台是多少\n" "不是那个房七零五没有纸巾了,能送的纸巾吗\n" "卫生纸\n" "啊,送点纸成\n" "直接\n" "喂wife密码\n" "送餐\n" "平台\n" "帮我拿个充电器上来苹果的\n" "你就让他送就行\n" "我房间需要饮用水\n" "我要幺零七房间没有水\n" "我要我要早餐,你这不是钱的吗\n" "我要找她\n" "额,我要早餐\n" "送两瓶,瓶装水\n" "请问一下WiFi密码\n" "垃圾袋\n" "你电话\n" "嗯,验证吗?它是wife名字什么\n" "这个wife多少\n" "你好,呃房间的wifi连不上\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" "喂喂,请问WiFi密码是多少\n" "餐巾纸,用完了\n" "嗯,那个帮忙早餐送一下\n" "喂,你好,这边最晚几点退房\n" "不要送两瓶水,今天两瓶水,没送\n" "再送两瓶\n" "是的\n" "送四瓶水\n" "帮我取个刮胡刀,谢谢\n" "你\n" "嗯,这哪个酒店啊\n" "那个我们要八零幺的那个早餐能不能早点送过来啊\n" "你好,我有那个外卖在前台,你帮我送上来\n" "嗯,请问有苹果充电线吗") matches = regex.finditer(test_str) for match_num, match in enumerate(matches, start=1): print(f"Match {match_num} was found at {match.start()}-{match.end()}: {match.group()}") for group_num, group in enumerate(match.groups(), start=1): print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")

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