正则表达式笔记

一些基本的符号:

^ 匹配输入字行首
$ 匹配输入行尾
[abc] 匹配集合,匹配所包含的任意一个字符。
[^abc] 反向匹配集合,匹配未包含的任意一个字符。
[a-z] 字符范围。匹配指定范围内的任意字符。
{n} n是一个非负整数。匹配确定的n次。
{n,} n是一个非负整数。至少匹配n次。
{n,m} m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。
\ 转译符,一般像^$[].{}这些本身就有使用意义的字符,我们又想使用这些字符本身的话,就需要在前面加上它;同样的字符本身没有意义的加上转义符可以是其有特殊意义,如\n\r;转义符在很多地方都有广泛使用,不只是正则内。
.(点) 匹配除“\n”和"\r"之外的任何单个字符。
( ) 将'和'之间的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域(一个正则表达式中最多可以保存9个),它们可以用 \1 到\9 的符号来引用。

基于上面一些基本的符号用法就能写出一些常用的正则:

1.匹配6-18个长度的数字、字母、下划线: ^[0-9a-zA-Z_]{6,18}$

2.匹配4-25个长度的数字、字母、下划线并且前4位必须是数字:  ^[0-9]{4,4}[0-9a-zA-Z_]{0,21}$

3.匹配一个邮箱格式xxxxxxxxxxxx@xxxx.com: ^[a-zA-Z0-9_-]{1,}@[a-zA-Z0-9_-]{1,}(\.[a-zA-Z0-9_-]{1,}){1,}$

posted on 2022-05-10 15:11  胜者为王东恺  阅读(15)  评论(0编辑  收藏  举报

导航