正则表达式元字符
元字符 | 注解 |
---|---|
行定位点:'^'和'$' | 这两个字符分别代表一行文字的开始和结束。例如,^mike 将只会寻找以mike开始的行,同样mike$ 将只会寻找以mike结尾的行。 |
字符分类:'[]' | 一对方括号被称为字符分类,你可以用来匹配任何一个和多个字符。假设你想匹配单词'gray' ,同时也想找一下被拼写成'grey' 的单词。使用一个字符分类将允许你匹配这两者——正则表达式gr[ea]y被解读成匹配这样的字符串,一个g,一个r,跟着或者是一个e或者是一个a,跟着时一个y。字符分类中的^表示否定。 |
字符分类中的元字符:'-' | 字符分类中的元字符'-' (dash)用来指出一个字符范围。字符分类[0123456789abcdefABCDEF]采用’-‘的话可以写成这样[0-9a-fA-F]。'-' 只有在字符分类中才被认为是元字符。 |
选择性元字符:'|' | '|' (pipe)意思是"or" 。它允许你把多个表达式合成一个表达式,然后匹配里面任何单个表达式的结果,这些子表达式被称为备选项。例如,Mike和Mickael是两个独立的表达式,但是Mike |
匹配可选项:'?' | '?' (question mark)意味着可选。它放在正则表达式的某个字符的后面,这个字符允许在匹配结果中出现,也可以不出现。 |
数量符号:'+'、'*' | 像'?' 元字符一样,'+' (plus)和'*' (star)元字符影响前导字符,可以匹配字符串中字符出现的数量('?' 相当于0或者1次;'+' 匹配一次或者多次;'*' 表示匹配任何次)。 |
数量范围:'{}' | '{最小, 最大}' 表示指定的特定项目可以被匹配的最少和最大次数。 |
转义字符:'\' | '\' (backslash)被用来转换指定元字符的含义,以便于把它们当成普通的字符来匹配。 |
圆括号:'()' | 大部分正则表达式工具允许你用圆括号设定一个特定的表达式子集。 |
句点:'.' | '.' (adot或point)是一种匹配任何字符的写法,在字符分类中'.' 就不是元字符了。 |
匹配边界:'\b' | 匹配一个单词边界,也就是指单词和空格间的位置(即正则表达式的“匹配”有两种概念,一种是匹配字符,一种是匹配位置,这里的\b就是匹配位置的)。例如,“er\b”可以匹配“remember”中的“er”,但不能匹配“pert”中的“er”。 |
匹配非边界:'\B' | 匹配非单词边界。“er\B”能匹配“pert”中的“er”,但不能匹配“remember”中的“er”。 |
匹配数字字符:'\d' | 匹配一个数字字符。等价于[0-9] 。 |
匹配非数字字符:'\D' | 匹配一个非数字字符。等价于[^0-9] 。 |
匹配换页符:'\f' | 匹配一个换页符。 |
匹配换行:'\n' | 匹配一个换行符。 |
匹配换页符:'\r' | 匹配一个换回车符。 |
匹配不可见字符:'\s' | 匹配任何不可见字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v] 。 |
匹配任何可见字符:'\S' | 匹配任何可见字符。等价于[^ \f\n\r\t\v] |