《学习正则表达式》读书笔记一

第一章 什么是正则表达式

什么是正则表达式

正则表达式是描述一组字符串特征的模式,用来匹配特定的字符串。

1.1 从regexpal开始

网站

http://www.regexpal.com/

1.2 匹配北美电话号码

 707-827-7019

1.3 用字符数组来匹配数字

匹配0到9的任意数字

[0-9] 
  • 正则表达式将方括号视为特殊的元字符,因此方括号不参与匹配。
  • 元字符是在正则表达式中含有特殊含义的字符,也是保留字符。
[0 1 2 7 8 9]

1.4 使用字符组简写式

\d 和[0-9]一样匹配任意阿拉伯数字

\d\d\d-\d\d\d-\d\d\d\d

\D 匹配任意一个非数字字符。

\d\d\d\D\d\d\d\D\d\d\d\d

1.5 匹配任意字符

\d\d\d.\d\d\d.\d\d\d\d
  • . 点号(英文句号)是一个通配符,可以匹配任意字符。但是一般不匹配起始行符

1.6 捕获分组和向后引用

(\d)0\1\D\d\d\1\D\1\d\d\d
  • (\d)匹配第一个数字并将其捕获
  • \d匹配第二个数字但没有捕获,因为没有括号
  • \1 对数字进行反向引用

1.7 使用量词

\d{3}-?\d{3}-?\d{4}
  • 花括号中的数字表示待查找的数字出现的次数。包含数字的花括号是一种量词。花括号本身是一种元字符。
  • 问号是另一种量词,在上面表示连接符号是可选的。
  • 加号(+)表示“一个或者多个”,星号(*)表示“零个或者多个”
(\d{3}[.-]?){2}\d{4}

1.8 括选文字符

猜你喜欢

转载自blog.csdn.net/songyuequan/article/details/72847384