一、概念

正则表达式用于文本内容的查找和替换。

正则表达式内置于其它语言或者软件产品中,它本身不是一种语言或者软件。

二、正则表达式的操作

区分大小写:默认情况下, 正则表达式是区分大小写的. 这种特性可以使用 "i" 选项进行改变. 例如, 模式 i)abc 会搜索所有大小写形式的 "abc"。

转义字符:  \是元字符,在匹配 \.*?+[{|()^$ 这些字符则必须在其前面加上反斜线来进行匹配. 例如, \. 表示一个原义的句点而 \\ 表示一个原义的反斜线。


三、常用符号和用法

   

.          

默认情况下,匹配除\n\r之外的任何单个字符。

*    

通配符,其中 .* 是匹配范围最广的模式之一,它可以匹配0个或多个任意字符(除了\n\r之外)


匹配0个或者1个左边出现的字符

+

匹配1个或者多个左边出现的字符

|

竖线将两个或者多个可选项目分隔开来,表示选择其中一个进行匹配。

^   

匹配字符串起始部分,表示在行的开始处进行匹配

$

匹配字符串终止符,表示在行的末端进行匹配

{min,max}

匹配出现次数介于min和max的前面的字符或子模式。此外{2}表示匹配两次,而{2,}表示匹配两次或者更多。

[...]

匹配来自括号中字符集的任意一个

[^...]

不匹配此字符集中的任何一个字符

四、匹配特定的字符类别

\d

数字字符,等价于 [0-9]

\D

非数字字符,等价于 [^0-9]

\w

大小写字母,下划线和数字,等价于 [a-zA-Z0-9_]

\W

对 \w 取非

\s

任何一个空白字符,等价于 [\f\n\r\t\v]

\S

对 \s 取非

\x   \o

\x匹配16进制字符,\o匹配8进制字符

这个文章只涉及到常用的正则表达式功能,但是还有相当一部分您可能希望了解的功能没有涉及,请查阅其他资料。