正则表达式regex-基本知识

正则表达式测试链接


1. 限定符

符号? --> 其前面的字符出现0次或一次
符号* --> 其前面的字符出现0次或多次
符号+ --> 其前面的字符出现1次或多次
c{a} --> c出现a次
c{a,} --> c出现a次以上
c{a,b} --> c出现a到b次
c(a|b) --> 匹配ca或cb
(abc)通配符 -> 括号内容作为整体被识别

2. 字符类

[abc]+ --> 匹配由abc组成的字符
[a-zA-Z0-9]+ --> 匹配由数字和字母组成的字符
[^0-9] --> 匹配非数字字符(包括换行符)

3. 元字符

大多以反斜杠\开头

\d+ 数字字符 等同于 [0-9]+
\w+ 单词字符(包括字母数字下划线) 等同于[a-zA-Z0-9_]+
\s+ 空白字符(包括空格Tab换行)
\D+ 非数字字符
\W+ 非单词字符
\S+ 非空白字符
. 代表任意字符,但不包含换行符
^a 匹配行首的a
b$ 匹配行尾的b
<.+?> 末尾?作用: 贪婪匹配 -> 懒惰匹配

4. 实例

  • RGB颜色值匹配
    #[a-fA-F0-9]{6}\b
    \b 代表单词字符的边界(防止一个完整连续的单词的部分被识别为RGB颜色值)

  • IPv4地址匹配
    \d+.\d+.\d+.\d+[1]


  1. 实际上这里的匹配问题重重,大家可以给出更好更准确的正则表达式匹配规则 ↩︎

posted @ 2025-07-19 21:24  57sd1  阅读(7)  评论(0)    收藏  举报