一、概念
正则表达式用于文本内容的查找和替换。
正则表达式内置于其它语言或者软件产品中,它本身不是一种语言或者软件。
二、正则表达式的操作
区分大小写:默认情况下, 正则表达式是区分大小写的. 这种特性可以使用 "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进制字符 |
这个文章只涉及到常用的正则表达式功能,但是还有相当一部分您可能希望了解的功能没有涉及,请查阅其他资料。