学习正则表达式(二)

2016-03-13

第二章 简单的模式匹配

正则表达式唯一的用途就是在文本中匹配和寻找模式,模式可以简单也可以复杂。利用下面内容作为例子:
Chinese astronomers have discovered newborn stars arising in clusters as they "adopt" interstellar gases, providing a new explanation for how stars form.

Astronomers have long thought clusters could only form stars in bulk at once in the first millions of years of their "lives". However, recent discoveries of multiple star populations at different ages in clusters have made astronomers question the conventional theory of star birth.
Tel:028-8175478

2.1 匹配字符串字面值

正则表达式最为直接和明显的功能就是用一个或多个字符字面值来匹配字符串。匹配字符串字面值的方法就是使用普通的字符。把上文中的英文内容粘贴到文本区中,在正则表达式中输入单词Chinese,文本区中被高亮。注意区分大小写。

2.2 匹配数字

匹配数字使用 \d(不是所有工具都支持这样的形式) 或者[0-9],

2.3 匹配非数字字符

匹配非数字字符,可以使用\D或者^[0-9]或者[^\d]/。

2.4 匹配单词和非单词字符

\w,用来匹配单词,与\D的区别在于\D会匹配空格标点符号(引号连字符反斜杠方括号)等字符,而\w不会,它只会匹配字母数字下划线
在英语环境中,与\w匹配相同内容的字符组为:
[_a-zA-Z0-9]

现在用大写字母W匹配非单词字符
\W
它会匹配空格标点以及其他非字母非数字字符
它等价于:
[^_a-zA-Z0-9][^\w]

字符简写式 描述 字符简写式 描述
\a 报警符 \w 单词字符
[\b] 退格字符 \W 非单词字符
\c x 控制字符 \0 空字符
\d 数字字符 \x xx 字符的十六进制值
\D 非数字字符 \u xxx 字符的Unicode值
\o xxx 字符的八进制值

2.5 匹配空白符

\s匹配空白符,等价于 [ \t\n\r],它会匹配:

  • 空格
  • 制表符(\t)
  • 换行符(\n)
  • 回车符(\r)

\S匹配出空白符之外的所有符号。它等价于字符组:[^ \t\n\r][^\s]
其他不常见的空白符的简写式。

字符简写式 描述 字符简写式 描述
\f 换页符 \s 空白符
\h 水平空白符 \S 非空白符
\H 非水平空白符 \t 水平制表符
\n 换行符 \v 垂直制表符
\r 回车符 \V 非垂直表符

总结

微信公众号:嘀咕嘀咕(iOSSharers)

扫二维码关注