正则表达式元字符

元字符 注解
行定位点:"^"和"$" 这两个字符分别代表一行文字的开始和结束。例如,^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]
匹配字母、数字、下划线:"\w" 匹配字母、数字、下划线。等价于[A-Za-z0-9_]
匹配非字母、数字、下划线:"\W" 匹配非字母、数字、下划线。等价于[^A-Za-z0-9_]