最近学习js的时候发现文档上对于正则表达式的介绍太过简单,基本起不到什么作用,于是另找的视频学习(http://www.imooc.com/learn/706),另附正则图形化解释的线上工具链接(https://regexper.com/)
正则的语法:/表达式/修饰词
表一:元字符
元字符 | 含义 | 图形描述 |
---|---|---|
\b | 单词边界 | |
\B | 非单词边界 | |
. | 查找单个字符,除了换行和行结束符。 | |
\w | 查找单词字符。 | |
\W | 查找非单词字符。 | |
\d | 查找数字。 | |
\D | 查找非数字字符。 | |
\s | 查找空白字符。 | |
\S | 查找非空白字符。 | |
\0 | 查找 NUL 字符。 | |
\n | 查找换行符。 | |
\f | 查找换页符。 | |
\r | 查找回车符。 | |
\t | 查找制表符。 | |
\v | 查找垂直制表符。 | |
\xxx | 查找以八进制数 xxx 规定的字符。 | |
\xdd | 查找以十六进制数 dd 规定的字符。 | |
\uxxxx | 查找以十六进制数 xxxx 规定的 Unicode 字符。 |
表二:修饰符
修饰符 | 描述 |
---|---|
i | 执行对大小写不敏感的匹配 |
g | 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止) |
m | 执行多行匹配 |
表三:其他
其他 | 描述 | 图形化释义 |
---|---|---|
[] | 查找方括号内某范围内容字符,例为([abc]) | |
n+ | 匹配任何包含至少一个 n 的字符串。 | |
n* | 匹配任何包含零个或多个 n 的字符串。 | |
n? | 匹配任何包含零个或一个 n 的字符串。 | |
n{X} | 匹配包含 X 个 n 的序列的字符串。 | |
n{X,Y} | 匹配包含 X 至 Y 个 n 的序列的字符串。 | |
n{X,} | 匹配包含至少 X 个 n 的序列的字符串。 | |
n$ | 匹配任何结尾为 n 的字符串。 | |
^n | 匹配任何开头为 n 的字符串。 |
尝试一下邮箱检测,因为邮箱命名规则并不很唯一,所以就按照自己的理解敲了一个,表达式如下:
/^([a-zA-Z0-9])+([a-zA-Z0-9.])*@([a-zA-Z0-9]){2,}\.([a-zA-Z]){2,}$/