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"
"
gms

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 = "(?ms):\n{2}(.*?)\n*?左滑看接口.*?(i|R\d.*?) 处理器\n{2}((.*?) 独立显卡){0,1}\n{0,2}(\d*?)GB 内存\n{2}(\d*?)GB 固态硬盘.*?机身重 (.*?kg).*?(\d*?)元.*?优点!\n{2}(.*?)\n*?缺点.*?内存.(板载).*?色域覆盖.{0,1}(.*?),平均△E.(\d{1,2}\.\d{2})," Local $sString = "聊一款走轻便+续航路线的AMD笔记本" & @CRLF & _ "Original 猪王 笔吧评测室 Yesterday" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "现在提到AMD,大多数人的脑海里就浮现出【性价比】这三个字。" & @CRLF & _ "" & @CRLF & _ "但我们心里都清楚,AMD有必要尝试价格更贵的笔记本电脑,不可能永远卖便宜货。" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "今天的主角就是AMD的一次尝试,它没有走超低价路线,甚至不走性能路线,与之前的AMD锐龙本有很大不同。" & @CRLF & _ "" & @CRLF & _ "实际表现如何?我们来简单分析一下:" & @CRLF & _ "" & @CRLF & _ "华硕 灵耀14锐龙版" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "左滑看接口" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "机身左侧" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "机身右侧" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "它的配置如下:" & @CRLF & _ "" & @CRLF & _ "R7 4700U 处理器" & @CRLF & _ "" & @CRLF & _ "16GB 内存" & @CRLF & _ "" & @CRLF & _ "512GB 固态硬盘" & @CRLF & _ "" & @CRLF & _ "14英寸 1080p分辨率 100%sRGB色域 IPS屏" & @CRLF & _ "" & @CRLF & _ "电池容量 67Wh" & @CRLF & _ "" & @CRLF & _ "厚 15.7mm" & @CRLF & _ "" & @CRLF & _ "机身重 1.2kg" & @CRLF & _ "" & @CRLF & _ "适配器重 215g" & @CRLF & _ "" & @CRLF & _ "首发售价5499元" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "它的优缺点如下:" & @CRLF & _ "" & @CRLF & _ "优点!" & @CRLF & _ "" & @CRLF & _ "1,触摸板与小键盘可以二合一(NumberPad 2.0技术)" & @CRLF & _ "" & @CRLF & _ "2,噪音控制较好" & @CRLF & _ "" & @CRLF & _ "3,机身+充电器比较轻便" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "缺点!" & @CRLF & _ "" & @CRLF & _ "1,固态硬盘性能很弱" & @CRLF & _ "" & @CRLF & _ "2,内存延迟较高" & @CRLF & _ "" & @CRLF & _ "3,仅有一个USB-A接口" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "【升级建议】" & @CRLF & _ "" & @CRLF & _ "这台笔记本电脑拆机比较麻烦,底面上方两个脚垫隐藏了螺丝,同时底面还用了一些胶进行固定,拆下时需要小心。" & @CRLF & _ "" & @CRLF & _ "双通道16GB内存能满足大部分用途的需求,内存为板载无法更换。" & @CRLF & _ "" & @CRLF & _ "固态硬盘的容量为512GB,型号为金士顿OM8PCP3,推测是OEM型号,支持PCIe3.0x4和NVMe,实测性能很弱,条件允许的话建议更换性能更好的固态硬盘。" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "【购买建议】" & @CRLF & _ "" & @CRLF & _ "1,对便携与做工的要求较高" & @CRLF & _ "" & @CRLF & _ "2,对噪音控制要求较高" & @CRLF & _ "" & @CRLF & _ "3,平时不用电脑玩游戏的人" & @CRLF & _ "" & @CRLF & _ "华硕 灵耀14锐龙版的外观与酷睿版一致,机身的做工和质感都不错,键盘与边框的距离也进行了缩进,所以右Shift/Enter/Backspace等按键很长。" & @CRLF & _ "" & @CRLF & _ "值得一提的是,灵耀14的触摸板可以切换成小键盘,如果你使用外置鼠标,那么输入数字的时候能更方便。" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "屏幕方面,实测色域容积为96.9%sRGB,色域覆盖为94.7%sRGB,平均△E为1.72,最大△E为3.79,在25%亮度以上支持DC调光,25%亮度以下为高频PWM调光,无论哪种调光方式均不会伤眼。" & @CRLF & _ "" & @CRLF & _ "续航方面,PCmark10续航测试成绩为12小时44分钟。(场景:现代办公)" & @CRLF & _ "" & @CRLF & _ "噪音方面,它的满载人位分贝值为43dB,比较安静。" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "可能是由于供应量的关系,灵耀14锐龙版仅这一个配置在售,所以大家没得挑。" & @CRLF & _ "" & @CRLF & _ "如果你对便携性要求较高,需要一台主流价位的精致商务本,那么灵耀14锐龙版可以考虑一下。" & @CRLF & _ "" & @CRLF & _ "但这台电脑性能释放保守,且内存延迟达到116.1ns,所以它并不适合玩游戏,也不适合做一些性能要求较高的专业软件。" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "【猪王的良心结语】" & @CRLF & _ "" & @CRLF & _ "上图是华硕 灵耀14锐龙版的拆机实拍图,单热管单风扇的组合,和酷睿版一致。" & @CRLF & _ "" & @CRLF & _ "室温25.5℃" & @CRLF & _ "" & @CRLF & _ "反射率1.00" & @CRLF & _ "" & @CRLF & _ "BIOS版本:UX425IA.301" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "针对无独显的轻薄本,我们使用负载较低的Stress CPU进行压力测试。" & @CRLF & _ "" & @CRLF & _ "在满载状态下,CPU温度最高69℃,功耗13.8W左右,频率维持在3.0GHz。" & @CRLF & _ "" & @CRLF & _ "这台电脑通过System Temperature Tracking V2(STT V2)对功耗进行控制,不少搭载APU的机器也使用该机制。" & @CRLF & _ "" & @CRLF & _ "其中用于触发STT V2的一个温度参数设定偏低,所以负载上来后,功耗会一直降低直到温度符合设定值。" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "左滑看背面温度" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "背面温度" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "表面温度如上图所示,键盘键帽温度最高为42.9℃,WASD键位区域在38℃附近,方向键31.2℃,左腕托33.1℃,背面中心点37℃。" & @CRLF & _ "" & @CRLF & _ "总的来说,灵耀14锐龙版的散热表现一般,CPU核心温度很低,性能也低于行业均值,带来的是较低的满载噪音。" & @CRLF & _ "" & @CRLF & _ " " & @CRLF & _ "" & @CRLF & _ "最近针对这台电脑的性能释放争议较多,在我看来,性能释放保守的轻薄本≠垃圾,一台核显轻薄本,其本身的定位又是办公+静音,拿它跑游戏是舍本逐末的行为。" & @CRLF & _ "" & @CRLF & _ "如果你要玩游戏、要性能,那你应该买游戏本,或者高性能取向的轻薄本。" & @CRLF & _ "" & @CRLF & _ "而至于这台华硕 灵耀14锐龙版,如果它能将硬盘和散热规格做好一点,相信市场表现也会更好一些。" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "猪王二手店" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "猪王新机店" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "加入笔吧" & @CRLF & _ "" & @CRLF & _ "【笔吧评测室招商计划启动啦】" & @CRLF & _ "" & @CRLF & _ "【广告投放请点我联系】" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ "Scan to Follow" 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