1.正则表达式分类:
正则表达式分为普通字符和元字符。
普通字符:
仅能够描述它们本身,这些字符称作普通字符,例如所有的字母和数字。也就是说普通字符只能够匹配字符串中与它们相同的字符。
元字符:
是一些具有特殊含义的字符,可以极大提高了灵活性和强大的匹配功能。比如,规定用户只能输入英文26个英文字母,普通字符的话abcdefghijklm....,但是换成元字符写法:[a-z]。
2.元字符:
为了方便记忆和学习,我们对众多的元字符进行了分类:
- 边界符(表示位置,开头和结尾,必须用什么开头,用什么结尾)
- 量词(表示重复次数)
- 字符类(比如\d表示0~9)
3.常见边界符:
边界符 | 说明 |
^ | 表示匹配行首的文本(以谁开始) |
$ | 表示匹配行尾的文本(以谁结束) |
4.常见量词:
量词 | 说明 |
* | 重复零次或更多 |
+ | 重复一次或更多次 |
? | 重复零次或一次次 |
{n} | 重复n次 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n到m次 |
5.字符类:
1. [ ] 匹配字符集合:
只要包含 [ ] 中任意一个字符,都返回true 。
例子:
console.log(/[abc]/.test('awrg'));
2.[]里面加上–连字符:
使用连字符–表示一个范围。
[a-z]表示 a到z 26个英文字母都可以
[a-zA-Z]表示大小写都可以
[0-9]表示0~9的数字都可以
3.[]里面加上^取反:
写在 [ ] 前匹配 [ ] 外的内容。