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
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
No Match

r"
"
xig

Test String

Code Generator

Generated Code

#include <StringConstants.au3> ; to declare the Constants of StringRegExp #include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate Local $sRegex = "(?xi)([a-z]\s*)?" & @CRLF & _ "(" & @CRLF & _ " (" & @CRLF & _ " [零幺一二两三四五六七八九十百千万点比]" & @CRLF & _ " |[零一二三四五六七八九十][ ]" & @CRLF & _ " |(?<=[一二两三四五六七八九十])[年月日号]" & @CRLF & _ " |(分之)" & @CRLF & _ " )+" & @CRLF & _ " (" & @CRLF & _ " (?<=[一二两三四五六七八九十])[a-zA-Z年月日号个只分万亿秒]" & @CRLF & _ " |(?<=[一二两三四五六七八九十]\s)[a-zA-Z]" & @CRLF & _ " )?" & @CRLF & _ " (?(1)" & @CRLF & _ " |(?(5)" & @CRLF & _ " |(" & @CRLF & _ " [零幺一二两三四五六七八九十百千万亿点比]" & @CRLF & _ " |(分之)" & @CRLF & _ " )" & @CRLF & _ " )+" & @CRLF & _ " )" & @CRLF & _ ")" Local $sString = "压缩软件七 zip " & @CRLF & _ "这是一部 iPhone 四 s " & @CRLF & _ "这是一部苹果四 s" & @CRLF & _ "我要玩 gta五" & @CRLF & _ "索尼相机 mark 五" & @CRLF & _ "三星 s 七" & @CRLF & _ "数字测试一万三千七百零二" & @CRLF & _ "不管三七二十一" & @CRLF & _ "九九八十一难" & @CRLF & _ "时间测试二零一八年五月二十三号上午十点十分" & @CRLF & _ "一万零七十六" & @CRLF & _ "百分之三十二点六八" & @CRLF & _ "比分测试十七比十六" & @CRLF & _ "比分测试三十七比十六" & @CRLF & _ "一点一" & @CRLF & _ "一点一滴" & @CRLF & _ "八九十" & @CRLF & _ "一个人一定要" & @CRLF & _ "一五八七三六九零" & @CRLF & _ "二七九三零一二二" & @CRLF & _ "八五三零七四九九" & @CRLF & _ "二六一四九七八七" & @CRLF & _ "一五九六四八六二" & @CRLF & _ "四五六九八七二三" & @CRLF & _ "四八六一五九六四" & @CRLF & _ "一七八六四五八九" & @CRLF & _ "一二三加四五六" & @CRLF & _ "九七八六加三三八四" & @CRLF & _ "发电站每天发电三万零二十九度电" & @CRLF & _ "银行月交易总额七千九百零三亿元" & @CRLF & _ "深圳每月平均工资在一万三千元" & @CRLF & _ "每月房租要交一千伍佰元" & @CRLF & _ "我每月交通费用在四百元左右" & @CRLF & _ "本月开销费用是五万一千三百二十八元" & @CRLF & _ "如果你中了五千万元奖金会分我一半吗" & @CRLF & _ "这个月工资我发了三千五百二十九元" & @CRLF & _ "学会了这个技能你至少可以涨薪五千元" & @CRLF & _ "我们的会议时间定在九点二十五分开始" & @CRLF & _ "上课时间是八点十五分请不要迟到" & @CRLF & _ "昨天你九点二十一分才到教室" & @CRLF & _ "今天是二零一九年一月三十一号" & @CRLF & _ "今年的除夕夜是二零一九年二月四号" & @CRLF & _ "这根水管的长度不超过三十五米" & @CRLF & _ "四百米是最短的长跑距离" & @CRLF & _ "最高的撑杆跳为十一米" & @CRLF & _ "等会请在十二点零五分请通知我" & @CRLF & _ "二十三点十五分开始" & @CRLF & _ "你生日那天我会送你九百九十九朵玫瑰" & @CRLF & _ "给我一双鞋我可以跳九十六米远" & @CRLF & _ "虽然我们的身高相差三百五十六毫米也不影响我们交往" & @CRLF & _ "我们班的最高总分为五百八十三分" & @CRLF & _ "今天考试老师多扣了我二十一分" & @CRLF & _ "我量过这张桌子总长为一点三七米" & @CRLF & _ "乘务员身高必须超过一百八十五公分" & @CRLF & _ "这台电脑分辨率为一零二四" & @CRLF & _ "手机价格不超过一千五百元" & @CRLF & _ "一百零一点二三" & @CRLF & _ "一百二十三点一一六" & @CRLF & _ "四百五十六点一四七" & @CRLF & _ "零点一五九四" & @CRLF & _ "三点一四一五" & @CRLF & _ "零点一一二二三三" & @CRLF & _ "零点一" & @CRLF & _ "四万零一点九八七" & @CRLF & _ "五十六点八七八" & @CRLF & _ "零点零零一二三" & @CRLF & _ "零点零零零一" & @CRLF & _ "零点九二零一五" & @CRLF & _ "九百九十九点零零零一" & @CRLF & _ "一万点一二三" & @CRLF & _ "六百六十六点五五五" & @CRLF & _ "四百四十四点七八九" & @CRLF & _ "七百八十九点六六六" & @CRLF & _ "零点一二三四五" & @CRLF & _ "一点零五六四九" & @CRLF & _ "环比上调百分之一点八六" & @CRLF & _ "环比分别下跌百分之三点四六及微涨百分之零点七零" & @CRLF & _ "单价在三万元的二手房购房个案当中" & @CRLF & _ "六月仍有百分之七单价在三万元的房源" & @CRLF & _ "最终也只是以总积分一分之差屈居第二" & @CRLF & _ "中新网八月二十九日电今日" & @CRLF & _ "自六月底呼和浩特市率先宣布取消限购后" & @CRLF & _ "仅一个多月的时间里" & @CRLF & _ "除了北京上海广州深圳四个一线城市和三亚之外" & @CRLF & _ "四十六个限购城市当中" & @CRLF & _ "四十一个已正式取消或变相放松了限购" & @CRLF & _ "其中包括对拥有一套住房并已结清相应购房贷款的家庭" & @CRLF & _ "这个后来被称为九三零新政策的措施" & @CRLF & _ "今年有望超三百亿美元" & @CRLF & _ "就连一向看多的任志强" & @CRLF & _ "近期也一反常态地发表看空言论" & @CRLF & _ "这块黄金重达三百二十四点七五克" & @CRLF & _ "她出生于八六年八月十八日她弟弟出生于一九九五年三月一日" & @CRLF & _ "电影中梁朝伟扮演的陈永仁的编号二七一四九" & @CRLF & _ "现场有十二分之七的观众投出了赞成票" & @CRLF & _ "随便来几个价格十二块五和三十四点五元和二十点一万" & @CRLF & _ "明天有百分之六十二的概率降雨" & @CRLF & _ "这是固话零四二一三三四四一一二二" & @CRLF & _ "这是手机八六一八五四四一三九一二一" & @CRLF & _ "" Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH) Local $aFullArray[0] For $i = 0 To UBound($aArray) -1 _ArrayConcatenate($aFullArray, $aArray[$i]) Next $aArray = $aFullArray ; Present the entire match result _ArrayDisplay($aArray, "Result")

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 AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm