正则学习记录

题注:正则表达式也称为规则表达式或字符串规则表达式,此文记录正则表达式的一些基本用法,适合正则入门使用。


  • 基本规则
示例
  英文文档中查找单词 hi
  正则: \bhi\b
  \b代表空格,隔离him,history等单词
三位区号8位数字的电话号
正则: 0\d\d-\d\d\d\d\d\d\d\d      简化: 0\d{2}-\d{8}
  • 常用元字符

^ 匹配字符串的开始
$ 匹配字符串的结束
. 匹配除换行符外的所有字符
\d 匹配数字
\w 匹配字符或数字或下划线或汉字
\s 匹配任意的空白符
\b 匹配单词的开始或结束

  • 匹配类型 POSIX和PEAL

POSIX:
[:upper:] 匹配所有的大写字母
[:lower:] 匹配所有的小写字母
[:alpha:] 匹配所有的字母
[:alnum:] 匹配所有的数字和字母
[:digit:] 匹配所有的数字
[:xdigit:] 匹配所有的16进制字符,等价于[0-9A-Fa-f]
[:punct:] 匹配所有的标点符号,等价于[.,'''?!;:]
PERL:
\n 换行符
\r 回车符
\t 制表符
\d 任一十进制数字
\s 任一空白字符
\w 任一“字”可见的字符

匹配QQ号  5-12位
表达式:  ^\d{5,12}$
  • 字符转义

转义字符
比如 匹配\ 表达式:\
类似 \. \* \+等等

  • 常用限定符

*** 匹配0次或多次
? 匹配0次或1次

  •  匹配1次或多次
    

{n} 匹配n次
{n,} 匹配n次或更多次
{n,m}匹配n到m次

  • 字符范围

[aeiou] 匹配任意一个元音字母
[.?!] 匹配标点符号
所以[0-9] 等同 \d
[a-z0-9A-Z_] 等同 \w

  • 反义

有定义的元字符大写,即为反义,字符集前面加上^ 也为反义
\W 匹配任意不是字母、数字、下划线或汉字的字符
\D 匹配任意不是数字的字符
\S 匹配任意不是空白符的字符
\B 匹配不是单词开始或结束的字符
[^X] 匹配任一不是X的字符
[^aeiou] 匹配任一不是元音字母的字符

  • 并列

用 | 表示或者,合并为一组使用
用 ()表示是一个字表达式

匹配座机号
0\d{2}-\d{8}|0\d{3}-\d{7}
匹配Ip地址
^(\d[1,2]|1\d\d|2[0-4]\d|25[0-5]\.){3}((\d[1,2]|1\d\d|2[0-4]\d|25[0-5])$
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 正则表达式到底是什么东西?字符是计算机软件处理文字时最基本的单位,可能是字母,数字,标点符号,空格,换行符,汉字等...
    狮子挽歌阅读 6,497评论 0 9
  • 初衷:看了很多视频、文章,最后却通通忘记了,别人的知识依旧是别人的,自己却什么都没获得。此系列文章旨在加深自己的印...
    DCbryant阅读 9,530评论 0 20
  • 几个正则表达式编辑器 Debuggex :https://www.debuggex.com/ PyRegex:ht...
    没技术的BUG开发攻城狮阅读 10,044评论 0 23
  • 推荐几个正则表达式编辑器 Debuggex :https://www.debuggex.com/ PyRegex:...
    木易林1阅读 13,997评论 9 151
  • 随着互联网行业的快速增长,衍生了众多互联网职业,产品,开发,运营,测试,运维。今天要说的是产品,在我身边,好多开发...
    soshow阅读 4,127评论 0 1

友情链接更多精彩内容