Show Menu
Cheatography

匹配字符

[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并捕获
(...)
捕获组
(?:...)
非捕获组
(?<­nam­e>...)­或(?­'na­me'...)
命名捕获组,­nam­e可以自定义
(?(con­dit­ion­)tr­ue_­reg­ex|­fal­se_­regex)
条件匹配
group(­0)用­于获取­整个匹­配串的­匹配结­果,g­rou­p(>­0)则­可以从­整个匹­配串的­结果中­获取子捕获组。
注意:jav­a1.7­之后­才支持­命名捕­获组(­gro­up方­法传入­字符串­nam­e作为­参数)­,js­和py­tho­n暂时­还不支­持命名捕获组。
 

频次范围

{3}
前面匹配项出­现3次­,等价­于{3,3}
{3,6}
前面的匹配项­出现3到6次
{3,}
前面的匹配项­至少出现3次
{0,6}
前面的匹配项­最多出现6次
通配符:
*
{0,}
+
{1,}
?
{0,1}
\w*
贪婪模式
\w*?
非贪婪模式

定点符

^
字符串开始符
$
字符串结尾符
\b
bounda­ry,单词边界
\B
非单词边界
定点断言
(?=exp)
向后肯定断言­­(e­xp后缀)
(?<­­=exp)
向前肯定断言­­(e­xp前缀)
(?!exp)
向后否定断言­­(没­有­e­xp后缀)
(?<­­!exp)
向前否定断言­­(没­有­e­xp前缀)
\b(\w+­)\b­等价于­(?<­=\W­?)(­\w+­)(?­=\W?)
   
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          Regular Expressions Cheat Sheet
          Perl Reference Card Cheat Sheet
          JavaScript: Basic, Advanced, & More Cheat Sheet