正则表达式备忘单

JavaScript正则表达式备忘单

Normal characters

ExpressionDescription
. 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
\Sinverse of \s

Whitespace characters

ExpressionDescription
space
\ttab
\nnewline
\rcarriage return
\sspace, tab, newline or carriage return

Character set

ExpressionDescription
[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

ExpressionDescription
\.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

ExpressionDescription
\\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

ExpressionDescription
{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

ExpressionDescription
^start of string
$end of string
\bword 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

ExpressionDescription
foo|barmatch either foo or bar
foo(?=bar)match foo if it’s before bar
foo(?!bar)match foo if it’s not before bar
(?<=bar)foomatch foo if it’s after bar
(?<!bar)foomatch foo if it’s not after bar

Grouping and capturing

ExpressionDescription
(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

相关工具 (20)

chmod 命令速查表
Linux 权限变更速查表
常用正则表达式备忘单
常用正则表达式模式备忘单。
CSS选择器备忘单
CSS选择器语法备忘单。
Docker Compose 备忘单
Docker Compose 格式备忘单
Docker备忘单
Docker命令备忘单。
Docker SWARM 备忘单
Docker Swarm 模式速查表
Dockerfile 备忘单
Dockerfile 语法和构建备忘单
Git语义提交备忘单
使用语义前缀提交Git的备忘单
JQ备忘单
JQ命令备忘单
JSONPath语法备忘单
JSONPath语法备忘单
Markdown备忘单
Markdown备忘单
Nano备忘单
Nano编辑器备忘单
正则表达式备忘单
JavaScript正则表达式备忘单
Sed 备忘单
sed unix 命令速查表
XPath语法备忘单
XPath语法备忘单
键码信息
查找任意按下按键的JavaScript键码、代码、位置和修饰键。
正则表达式测试器
使用示例文本测试您的正则表达式。
Javascript 混淆器
使用 base64 或 rot13 编码的 JavaScript 代码混淆器
JavaScript美化器
JS/JavaScript美化器
Crontab生成器
验证并生成crontab,并获取cron计划的易读描述。
留言区
昵称
邮箱
网址
0/1000
  • OωO
  • |´・ω・)ノ
  • ヾ(≧∇≦*)ゝ
  • (☆ω☆)
  • (╯‵□′)╯︵┴─┴
  •  ̄﹃ ̄
  • (/ω\)
  • ∠( ᐛ 」∠)_
  • (๑•̀ㅁ•́ฅ)
  • →_→
  • ୧(๑•̀⌄•́๑)૭
  • ٩(ˊᗜˋ*)و
  • (ノ°ο°)ノ
  • (´இ皿இ`)
  • ⌇●﹏●⌇
  • (ฅ´ω`ฅ)
  • (╯°A°)╯︵○○○
  • φ( ̄∇ ̄o)
  • ヾ(´・ ・`。)ノ"
  • ( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
  • (ó﹏ò。)
  • Σ(っ °Д °;)っ
  • ( ,,´・ω・)ノ"(´っω・`。)
  • ╮(╯▽╰)╭
  • o(*////▽////*)q
  • >﹏<
  • ( ๑´•ω•) "(ㆆᴗㆆ)
  • 😂
  • 😀
  • 😅
  • 😊
  • 🙂
  • 🙃
  • 😌
  • 😍
  • 😘
  • 😜
  • 😝
  • 😏
  • 😒
  • 🙄
  • 😳
  • 😡
  • 😔
  • 😫
  • 😱
  • 😭
  • 💩
  • 👻
  • 🙌
  • 🖕
  • 👍
  • 👫
  • 👬
  • 👭
  • 🌚
  • 🌝
  • 🙈
  • 💊
  • 😶
  • 🙏
  • 🍦
  • 🍉
  • 😣
  • 颜文字
  • Emoji
  • Bilibili
0 条评论
没有评论
Powered by Twikoo v1.6.44
Twikoo 评论管理
密码