匹配一组字符
[ ] 定义一个字符集合;
0-9、a-z 定义了一个字符区间,区间使用 ASCII 码来确定,字符区间在 [ ] 中使用。
- 只有在 [ ] 之间才是元字符,在 [ ] 之外就是一个普通字符;
^ 在 [ ] 中是取非操作(匹配不是某某某的字符)。
拓展:正则表达式中^的用法
问:什么时候“^”是否定字符,什么时候是匹配开始行
只要是“^”这个字符是在中括号“[ ]”中被使用的话就是表示字符类的否定,如果不是的话就是表示限定开头。我这里说的是直接在“[ ]”中使用,不包括嵌套使用。
其实也就是说“[ ]”代表的是一个字符集,“^”只有在字符集中才是反向字符集的意思。
总结:^匹配输入字符串的开始位置,除非在方括号表达式中使用,当该符号在方括号表达式中使用时,表示不接受该方括号表达式中的字符集合。要匹配 ^ 字符本身,请使用 \^。
表示限定开头的示例:
/[(^\s+)(\s+$)]/g
(^cat)$
(^cat$)
^(cat)$
^(cat$)
表示否定的示例:
[^a]表示“匹配除了a的任意字符”。
[^a-zA-Z0-9]表示“找到一个非字母也非数字的字符”。
[\^abc]表示“找到一个插入符或者a或者b或者c”。
应用
匹配以 abc 为开头,并且最后一个字母不为数字的字符串:
正则表达式
abc[^0-9]
匹配结果
1. abcd
2. abc1
3. abc2
签名:这个人很懒,什么也没有留下!