Development · 工具

正则表达式备忘

RegEx Memo工具

正则表达式备忘工具工作区

Normal characters

Expression Description
. or [^\n\r] any character excluding a newline or carriage return
[A-Za-z] alphabet
[a-z] lowercase alphabet
[A-Z] uppercase alphabet
\d or [0-9] digit
\D or [^0-9] non-digit
_ underscore
\w or [A-Za-z0-9_] alphabet, digit or underscore
\W or [^A-Za-z0-9_] inverse of \w
\S inverse of \s

Whitespace characters

Expression Description
space
\t tab
\n newline
\r carriage return
\s space, tab, newline or carriage return

Character set

Expression Description
[xyz] either x, y or z
[^xyz] neither x, y nor z
[1-3] either 1, 2 or 3
[^1-3] neither 1, 2 nor 3
  • Think of a character set as an OR operation on the single characters that are enclosed between the square brackets.
  • Use ^ after the opening [ to “negate” the character set.
  • Within a character set, . means a literal period.

Characters that require escaping

Outside a character set

Expression Description
\. period
\^ caret
\$ dollar sign
| pipe
\\ back slash
\/ forward slash
\( opening bracket
\) closing bracket
\[ opening square bracket
\] closing square bracket
\{ opening curly bracket
\} closing curly bracket

Inside a character set

Expression Description
\\ back slash
\] closing square bracket
  • A ^ must be escaped only if it occurs immediately after the opening [ of the character set.
  • A - must be escaped only if it occurs between two alphabets or two digits.

Quantifiers

Expression Description
{2} exactly 2
{2,} at least 2
{2,7} at least 2 but no more than 7
* 0 or more
+ 1 or more
? exactly 0 or 1
  • The quantifier goes after the expression to be quantified.

Boundaries

Expression Description
^ start of string
$ end of string
\b word boundary
  • How word boundary matching works:
    • At the beginning of the string if the first character is \w.
    • Between two adjacent characters within the string, if the first character is \w and the second character is \W.
    • At the end of the string if the last character is \w.

Matching

Expression Description
foo|bar match either foo or bar
foo(?=bar) match foo if it’s before bar
foo(?!bar) match foo if it’s not before bar
(?<=bar)foo match foo if it’s after bar
(?<!bar)foo match foo if it’s not after bar

Grouping and capturing

Expression Description
(foo) capturing group; match and capture foo
(?:foo) non-capturing group; match foo but without capturing foo
(foo)bar\1 \1 is a backreference to the 1st capturing group; match foobarfoo
  • Capturing groups are only relevant in the following methods:
    • string.match(regexp)
    • string.matchAll(regexp)
    • string.replace(regexp, callback)
  • \N is a backreference to the Nth capturing group. Capturing groups are numbered starting from 1.

References and tools

点击代码块复制命令

使用说明

正则表达式备忘,常用语法速查:字符类、量词、分组与断言示例。

  1. 在输入区粘贴或输入内容
  2. 点击"运行工具"或按 Ctrl+Enter
  3. 复制结果到剪贴板

常见问题

我的数据会被上传到服务器吗?

不会。本工具完全在你的浏览器中运行,所有处理均在本地完成,数据不会离开你的设备。

使用这个工具需要注册或付费吗?

不需要。DevKit 所有工具免费开放,无需注册账号,打开即用。