正则表达式笔记
标记
表达式 | 作用 | 示例 | 作用 |
---|---|---|---|
^ |
匹配行首 | ^a |
匹配a在行首的情况 |
$ |
结匹配行尾 | a$ |
匹配a在行尾的情况 |
普通字符(大小写敏感)
表达式 | 作用 | 示例 | 作用 |
---|---|---|---|
[] |
只能匹配中括号中的字符 | [ABC] |
匹配字符串中的所有A、B、C |
[^A] |
除去 | [^ABC] |
得到除了ABC以外的所有字符 |
[A-Z] |
某一个区间(可以是大写区间、小写区间、数字区间) | [A-C] |
匹配A-C的区间 |
. |
匹配 除换行符的所有单个字符,相当于[^\n\r] |
||
[\s] |
匹配 空白字符(空格、换行) | ||
[\s] |
匹配 非空白字符(包括换行) | ||
[\w] |
匹配 字母、数字、下划线,相当于[A-Za-z0-9] |
非打印字符
符号 | 作用 | 示例 | 作用 |
---|---|---|---|
\ca | 匹配control+a的快捷键(\c是表示c,\为转义)(\cx的x必须是A-Z或者a-z) | \cv | 匹配ctrl+v的快捷键 |
\f |
换页符 | ||
\n |
换行符 | ||
\r |
回车 | ||
\s |
空白字符,包括空格、制表符、换页符等等 | ||
\S |
非空白字符,包括回车 | ||
\t |
制表符(Tab) | ||
\v |
垂直制表符(Vertical Tab) | ||
\d |
数字字符,等价于[0-9] |
||
\D |
非数字字符,等价于[^0-9] |
||
\w |
单词(word) | ||
\W |
非单词 |
特殊字符
符号 | 作用 | 示例 | 作用 |
---|---|---|---|
$ |
匹配字符串的结尾位置 | ||
() |
标记一个子表达式开始和结束的位置 | ||
* |
匹配前面的子表达式0次或多次 | go*gle | 可以匹配ggle,google,gooooogle等 |
+ |
匹配前面的子表达式1次或多次(1+) | go+gle | 可以匹配gogle,goooogle等 |
. |
匹配除换行符之外的任何单字符 | ||
[ |
标记一个中括号表达式的开始 | ||
? |
匹配前面的字符可有可无,或指明一个非贪婪限定符 | ||
\ |
转义符 | ||
^ |
匹配输入字符串的开始位置 | ||
{ |
标记限定符表达式的开始 | ||
| |
或(两项之间的选择) | a|b |
匹配a或b |
限定符
符号 | 作用 |
---|---|
{n} |
匹配n次 |
{n,} |
匹配n次及以上 |
{n,m} |
至少匹配n次,至多匹配m次 |
高级匹配
- 贪婪匹配:匹配到最后
<.+>
默认贪婪匹配任意字符 - 懒惰匹配:匹配到就停止
<.+?>
懒惰匹配任意字符
本文链接:
发文时间
12月 31, 2020
请遵循协议