正则表达式匹配一组字符

KuaiKan 4月前 148

匹配一组字符

[ ] 定义一个字符集合;

0-9a-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

最新回复 (0)
返回