| 格式 | 说明 |
|---|---|
| \ | 将下一个字符标记为一个特殊字符,或一个原义字符,或一个向后引用,或一个八进制转义值 |
| ^ | 匹配输入字符串的开始位置。如果设置了Regexp对象的Multiline属性,^也匹配\n 或 \r 之后的位置 |
| . | 匹配除\n外的任何单个字符,要匹配包括\n在内的任何字符,请使用[.\n]模式 |
| $ | 匹配输入字符串的结束位置。如果设置了Regexp对象的Multiline属性,$也匹配\n 或 \r 之前的位置 |
| x|y | 匹配x或y。|代表”或“,例如,z|food能匹配z或food,(z|f)ood则匹配zood 或 food |
| * | 匹配前面子表达式0次或多次,zo*匹配以及zoo,等价于{0, } |
| + | 匹配前面的子表达式1次或多次。zo+匹配zo以及zoo,等价于{1, },代表最少1个o |
| ? | 匹配前面的子表达式0次或1次 |
| {n} | 例如,0{2}匹配food中的两个o |
| {n,m} | 最少匹配n次,最多匹配m次 |
| [zyz] | 匹配所包含的任意一个字符,例如,[abc]可以匹配plain中的a |
| [^xyz] | 负值字符集合。匹配不在指定范围内的任意字符。例如,[^abc]可以匹配plain中的p |
| [a-z] | 字符范围。匹配指定范围内的任意字符。例如,[a-z]可以匹配任何不在a到z范围内的小写字母字符 |
| \b | 匹配非单词边界,也就是指单词和空格间的位置。例如,er\b 可以匹配 never 中 er,但不能匹配 verb 中的 er |
| \B | 匹配非单词边界。er\B能匹配 verb 中的 er,但不能匹配 never 中的 er |
| \d | 匹配一个数字。等价于[0-9] |
| \D | 匹配一个非数字。等价于[^0-9] |
| \f | 匹配一个换页符。等价于 \x0c 和 \cL |
| \n | 匹配一个换行符。等价于 \x0a 和 \cJ |
| \r | 匹配一个回车符。等价于 \x0d 和 \cM |
| \s | 匹配任何空白字符,包扩空格、制表符、换页符等。等价于[\f\n\r\t\v] |
| \S | 匹配任何非空字符,等价于[^\f\n\r\t\v] |
| \t | 匹配一个制表符,等价于 \x09 和 \cI |
| \v | 匹配一个垂直制表符。等价于 \x0b 和 \cK |
| \w | 匹配包括下画线的任何单词字符。等价于[A-Za-z0-9_] |
| \W | 匹配任何非单词字符。等价于[^A-za-z0-9_] |
| \num | 匹配num,其中num是一个正整数。对所获取的匹配的引用。例如,(.)\l 匹配两个连续的相同字符 |
| \xn | 匹配 n ,其中 n 为十六进制转义值 。十六进制转义值 必须为确定的两个数字长。例如,\x41 匹配 A。\x041 则 等价于 \04 & 1。正则表达式可以使用 ASCII 编码 |
| \un | 匹配 n,其中 n 是一个用4个十六进制数字表示的 unicode 字符。例如,\u00A9 匹配板权选符号 |
| (pattern) | 匹配括号内 pattern 所代表的表达式,是成组匹配 |
| (?=pattern) | 正向预查。例如,windows(?=95/98/2000/NT),含义是匹配windows后面可以是95、98、2000 或者 NT |
| ("!pattern) | 负向预查。例如,windows(?!95/98),含义是匹配windows后面不是95、98的其它字符串 |
正则表达式主要元字符
于 2025-07-25 15:24:02 首次发布
1800

被折叠的 条评论
为什么被折叠?



