天天写吐了,记录下水一水

符号含义例子匹配结果
[]匹配中括号里的任意一个字符(相当于“任选一个”)[A-Z]*APPLE,CAPITALS,QWERTY
()表达式编组(在正则表达式的规则里编组会优先运行)(a*b)*aaabaab,abaaab,ababaaaaab
{m,n}匹配前面的字符、子表达式或括号里的字符 m 到 n 次(包含 m 或 n)a{2,3}b{2,3}aabb,aaabb,aaabbb
[^]匹配任意一个不在中括号里的字符[^A-Z]*apple,lowercase,qwerty
竖杠匹配任意一个由竖线分割的字符、子表达式(注意是竖线,不是大字字母 I)b(a竖杠i竖杠e)dbad,bed,bid
.匹配任意单个字符(包括符号、数字和空格等)b.dbad,b$d,b d,bzd
^指字符串开始位置的字符或子表达式^aapple,asdf,a
\转义字符(把有特殊含义的字符转换成字面形式)\.\竖杠\\.竖杠\
$经常用在正则表达式的末尾,表示“从字符串的末端匹配”。如果不用它,每个正则表达式实际都带着“.*”模式,只会从字符串开头进行匹配。这个符号可以看成是^ 符号的反义词[A-Z][a-z]ABCabc,zzzyx,Bob
?!“不包含”。这个奇怪的组合通常放在字符或正则表达式前面,表示字符不能出现在目标字符串里。这个符号比较难用,毕竟字符通常会在字符串的不同部位出现。如果要在整个字符串中彻底排除某个字符,就加上 ^ 和 $符号^((?![A-Z]).)*$no-caps-here, $ymb0ls
a4e f!ne

\d+

  匹配一个或多个连续的数字字符

-?\d+

  匹配一个活多个连续的正负数字符

(?:https?://)?(?:www.)?([a-zA-Z0-9-]+)(?:.[a-zA-Z0-9-]+).[a-zA-Z]{2,}(?:/1)?

  匹配域名

[1-9]|12|3[01]|0

  正则匹配 0 - 31

匹配不是以"http"开头的字符串

  ^(?!http).*$
^ 表示匹配字符串的开始位置。
(?!http) 是一个负向前瞻,表示后面不能跟着字符串"http"。
.* 表示匹配零个或多个任意字符。
$ 表示匹配字符串的结束位置。

VSCode 删除空白行

  ^\s*(?=\r?$)\n
  然后全选替换即可

匹配 BASE64

  • ^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$
  • ^:表示字符串的开头
  • ([A-Za-z0-9+/]{4})*:匹配4个字符为一组的重复出现零次或多次(可以是任意多个组)
  • ([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==):匹配剩余字符长度为4、3或2的情况,其中可能包含一个或两个等号(=)
  1. \s