正则表达式

正则表达式 知识量:10 - 22 - 55

4.2 匹配特定字符类别><

匹配数字- 4.2.1 -

[0-9]是[0123456789]的简写形式,而且有一种数字元字符可以替代它或对它取非。

元字符说明
\d任何一个数字字符(等价于[0-9])
\D任何一个非数字字符(等价于[^0-9])

示例文本:

I ran 3 kilometers, but I ran 5 kilometers yesterday.

正则表达式:

\d

结果:

MatchPositionLength
361
5301
特别要注意的是:正则表达式是严格区分大小写的。

匹配字母和数字- 4.2.2 -

字母数字和下划线常用于文件名的命名,正则表达式中由专门的元字符来表示它们或它们的取非。

元字符说明
\w任何一个字母数字字符(大小写均可)或下划线字符(等价于[a-zA-Z0-9_])
\W任何一个非字母数字或非下划线字符(等价于[^a-zA-Z0-9_])

示例文本:

kki3li
jj45k3
ss34l
233jl
kiij3l

正则表达式:

\w\w\d\d\w

结果:

MatchPositionLength
jj45k75
ss34l145

匹配空白字符- 4.2.3 -

空白字符对应的一类元字符如下:

元字符说明
\s任何一个空白字符(等价于[\f\n\r\t\v])
\S任何一个非空白字符(等价于[^\f\n\r\t\v])

注意:退格字符[\b]不在类元字符\s的覆盖范围内,自然也没有被\S排除,使用时要格外注意。

匹配十六进制或八进制数值- 4.2.4 -

  1. 十六进制数值使用前缀\x给出,例如:\x0A(ASCII编码字符10,即换行符,相当于\n)。

  2. 八进制数值使用前缀\0给出,例如:\011(ASCII编码字符9,即制表符,相当于\t)