正则表达式中有很多上述的具有特别意义的字符。首先是下列字符。
-
[ ]
- 范围描述符。[a-z]表示从a到z之间的任意一个。 \w
- 英文字母和数字。即[0-9 A-Z a-z]。 \W
- 非英文字母和数字 \s
- 空字符,即[\t\n\r\f]。 \S
- 非空字符。 \d
- 数字,即[0-9]。 \D
- 非数字。 \b
- 词边界字符(在范围描述符外部时) \B
- 非词边界字符 \b
- 退格符(0x08)(在范围描述符内部时) *
- 前面元素出现0次以上 +
- 前面元素出现1次以上 {m,n}
- 前面元素最少出现m次,最多出现n次 ?
- 前面元素出现0次或1次 |
- 选择 ( )
- 群组 其他字符
- 该字符本身
例如,“^f[a-z]+”表示“第一个字符是f,后面是若干个从a到z之间的字符”,可以是“fobar”或“fool”等等。这种表达法就是正则表达式(regular expression)。在搜索字符串时正则表达式非常有用,因此在UNIX的世界里,正则表达式得到了广泛的应用。