1、正则表达式-教程
正则表达式:文本模式,包括普通字符(例如,a到z之间的字母)和特殊字符(称为元字符)。
正则表达式使用单个字符串来描述,匹配一系列匹配某个句法规则的字符串。
2、正则表达式-语法
正则表达式描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。正则表达式是由普通字符(例如字符a-z)以及特殊字符(称为“元字符”)组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
2.1普通字符
普通字符包括没有显示指定为元字符的所有可打印和不可打印字符。这包括所有大写和小写字符、所有数字、所有标点符号和一些其他符号。
2.2 非打印字符
非打印字符也可以是正则表达式的组成部分。下列列出了表示非打印字符的转义序列:
字符 |
描述 |
\cx |
匹配由x指明的控制字符。比如\cM匹配一个Control-M或回车符。 x的值必须为A-Z或a-z之一。 |
\f |
匹配一个换页符。=\x0c或=\cL |
\n |
匹配一个换行符。=\x0a或\cJ |
\r |
匹配一个回车符。=\x0d和\cM |
\s |
匹配任何空白字符,包括空格、制表符、换页符等待。=[\f\n\r\t\v] |
\S |
匹配任何非空白字符。=[^ \f\n\r\t\v] |
\t |
匹配一个制表符。=\x09和\cl |
\v |
匹配一个垂直制表符。=\x0b和 \cK |
2.3 特殊字符
特殊字符,就是有一些特殊含义字符。
特别字符 |
描述 |
$ |
匹配输入字符串的结尾位置。如果要匹配本身,需要进行转义,使用\$. |
() |
标记一个子表达式的开始和结束位置。 |
* |
匹配前面的子表达式0或多次。如果要匹配本身,需要进行转义,使用\* |
+ |
匹配前面的子表达式1或多次。如果要匹配本身,需要进行转义,使用\+ |
. |
匹配除换行符\n之外的任何单个字符。匹配.,使用\. |
[ |
标记一个中括号表达式的开始。要匹配[,使用\[ |
? |
匹配前面的子表达式0或1次,或指明一个非贪婪限定符。要匹配?字符,使用\? |
^ |
匹配输入字符串的开始位置,除非在方括号表达式中使用,当该符号在方括号表达式中使用时,表示不接受该方括号表达式中的字符集合。要匹配^,使用\^ |
{ |
标记限定符表达式的开始。要匹配{,使用\{ |
| |
指明两项之间的一个选择。要匹配|,请使用 |