Cheatography
https://cheatography.com
匹配字符
[abc] |
匹配a,b,c中的任意一个字符 |
[^abc] |
不匹配a,b,c中的所有字符,“^”只有作为第一个字符出现才有效 |
[a-g] |
匹配a-g范围内的任意一个字符 |
[^a-g] |
不匹配a-g中的所有字符 |
[H-N] |
匹配H-N范围内的任意一个字符 |
[0-9] |
匹配0-9范围内的任意一个字符 |
[a-gH-N] |
匹配a-g,H-N范围内的任意一个字符 |
通配符: |
. |
[^\n\r],匹配非换行符 |
\s |
space,空白字符,即换行,制表,空格等字符 |
\S |
[^\s] |
\d |
digit: [0-9] |
\D |
[^\d] |
\w |
word: [0-9A-Za-z_] |
\W |
[^\w] |
匹配组
(a|b) |
匹配a或b并捕获 |
(...) |
捕获组 |
(?:...) |
非捕获组 |
(?<name>...)或(?'name'...) |
命名捕获组,name可以自定义 |
(?(condition)true_regex|false_regex) |
条件匹配 |
group(0)用于获取整个匹配串的匹配结果,group(>0)则可以从整个匹配串的结果中获取子捕获组。
注意:java1.7之后才支持命名捕获组(group方法传入字符串name作为参数),js和python暂时还不支持命名捕获组。
|
|
频次范围
{3} |
前面匹配项出现3次,等价于{3,3} |
{3,6} |
前面的匹配项出现3到6次 |
{3,} |
前面的匹配项至少出现3次 |
{0,6} |
前面的匹配项最多出现6次 |
通配符: |
* |
{0,} |
+ |
{1,} |
? |
{0,1} |
\w* |
贪婪模式 |
\w*? |
非贪婪模式 |
定点符
^ |
字符串开始符 |
$ |
字符串结尾符 |
\b |
boundary,单词边界 |
\B |
非单词边界 |
定点断言 |
(?=exp) |
向后肯定断言(exp后缀) |
(?<=exp) |
向前肯定断言(exp前缀) |
(?!exp) |
向后否定断言(没有exp后缀) |
(?<!exp) |
向前否定断言(没有exp前缀) |
\b(\w+)\b等价于(?<=\W?)(\w+)(?=\W?)
|
Created By
www.hufeifei.cn
Metadata
Favourited By
Comments
No comments yet. Add yours below!
Add a Comment
Related Cheat Sheets