注:文中例子使用Python中的正则表达式re模块。
1. 原意字符
正则表达中最基本的字符是单个原意字符。例如p中的’a',匹配s中的单个'a',匹配位置在s中第一次出现a的位置。
>>> re.search(r'a','I am a foolish man').group() 'a'
>>> re.search(r'cat','about cats and dogs').group() 'cat'
2. 特殊字符
有12中特殊的字符用来匹配特殊模式的字符串,正则表达式的强大的搜索功能就在于此。
这里进列出这些特殊的字符,具体功能和使用方法将在以后相关文章中介绍。
反斜杠--- \
异或 --- ^
美元符--- $
点符号--- .
竖线 --- |
问号 --- ?
星号 --- *
加号 --- +
左括号--- (
右括号--- )
左方括号 [
左大括号 {
如果在正则表达式中使用这些特殊的字符,那么就需要在特殊字符前添加一个转义字符--反斜杠 \
如果要匹配 1+2=3,正则表达式需写成这样:1\+2=3
一般情况下,左大括号按照原意匹配。但是写成这样就是特殊字符了:a{1,3}。表示可以匹配字符串中1到3个连续的a
如果匹配这上面这些特殊字符,那么在正则表达式中除了上面提到的加 \ 这个方法外,还可以将特殊字符包裹上\Q...\E。例如 \Q\d+*\E匹配 \d+*。