(1)正则表达式常用特殊字符
| 特殊符号 | 描述 | 示例 | 示例意义 |
| | | 管道符号,表示选择其中一个进行匹配 | re1| re2 | 选择匹配正则表达式re1或者re2 |
| . | 匹配除去\n之外的任意字符 | d.d | 表示匹配d与d之间为任意字符的情况,如“did”“d2d”等 |
| ^ | 匹配字符串起始部分 | ^my | 表示任何以my作为开始的字符串 |
| $ | 匹配字符串终止符 | bye$ | 表示匹配任何以bye结束的字符串 |
| * | 匹配0或者多次左端出现的正则表达式 | [0-9]* | 表示匹配以任意个数字开始的字符串 |
| + | 匹配1次或者多次左端出现的正则表达式 | [0-9]+ | 表示匹配以1个或者多个数字开始的字符串 |
| ? | 匹配0次或者1次左端出现的正则表达式 | [0-9]? | 表示匹配以0个或者1个数字开始的字符串 |
| {N} | 匹配N次左端出现的正则表达式 | [0-9]{N} | 匹表示配以N个数字开始的字符串 |
| {M,N} | 匹配M次到N次左端出现的正则表达式 | [0-9]{M,N} | 匹表示配以M个到N个数字开始的字符串 |
| [...] | 匹配来自括号中字符集的任意一个 | [abcd] | 表示匹配a或者b或者c或者d |
| [.-.] | 匹配从.到.之间的任意一个字符 | [a-g] | 表示匹配a到g之间的任意一个字符,如a或b... |
| [^...] | 不匹配此字符集中的任何一个字符 | [^abc] | 表示匹配不是字符a或b或c的任意字符 |
| () | 对正则表达式进行分组或者匹配子组 | ([0-9]{3})? | 表示匹配三个数字出现一次或者不出现的情况 |
| 特殊字符 | 描述 | 示例 | 示例意义 |
| \d (\D) | \d匹配任何一个十进制数字,\D不匹配任何数字 | \d\d\d | 匹配三个数字的字符串 |
| \w (\W) | \w匹配任何一个字母字符,\W不匹配任何字母字符 | \w+ | 匹配一个由字母字符组成的字符串 |
| \s (\S) | \s匹配任何空格字符,\S不匹配任何空格字符 | of\sthe | 匹配of和the之间有任何空格字符的情况 |
| \b(\B) | \b匹配任何单词边界,\B不匹配任何单词边界 | \bthe | 任何以the开始的字符串 |
| \N | 匹配已保存的子组N | price:\N | 匹配price:后面加已保存的子组N的形式 |
| \c | 仅按照c的字面意思进行匹配 | \* | 匹配字符* |
| \A(\Z) | \A匹配字符串的开始,\Z匹配字符串的结尾 | \Acar | 匹配以car开始的字符串 |
| 特殊符号 | 描述 | 示例 | 示例意义 |
| | | 管道符号,表示选择其中一个进行匹配 | re1| re2 | 选择匹配正则表达式re1或者re2 |
| . | 匹配除去\n之外的任意字符 | d.d | 表示匹配d与d之间为任意字符的情况,如“did”“d2d”等 |
| ^ | 匹配字符串起始部分 | ^my | 表示任何以my作为开始的字符串 |
| $ | 匹配字符串终止符 | bye$ | 表示匹配任何以bye结束的字符串 |
| * | 匹配0或者多次左端出现的正则表达式 | [0-9]* | 表示匹配以任意个数字开始的字符串 |
| + | 匹配1次或者多次左端出现的正则表达式 | [0-9]+ | 表示匹配以1个或者多个数字开始的字符串 |
| ? | 匹配0次或者1次左端出现的正则表达式 | [0-9]? | 表示匹配以0个或者1个数字开始的字符串 |
| {N} | 匹配N次左端出现的正则表达式 | [0-9]{N} | 匹表示配以N个数字开始的字符串 |
| {M,N} | 匹配M次到N次左端出现的正则表达式 | [0-9]{M,N} | 匹表示配以M个到N个数字开始的字符串 |
| [...] | 匹配来自括号中字符集的任意一个 | [abcd] | 表示匹配a或者b或者c或者d |
| [.-.] | 匹配从.到.之间的任意一个字符 | [a-g] | 表示匹配a到g之间的任意一个字符,如a或b... |
| [^...] | 不匹配此字符集中的任何一个字符 | [^abc] | 表示匹配不是字符a或b或c的任意字符 |
| () | 对正则表达式进行分组或者匹配子组 | ([0-9]{3})? | 表示匹配三个数字出现一次或者不出现的情况 |
原文:https://www.cnblogs.com/837634902why/p/13677231.html