正则表达式相关汇总

 








几个重要的:    .      []      *包括+ 和?        {n}       \d        \w
 
 
 
.     //表示除\n之外的任意的单个字符
 
a.b   //a和b之间必须有一个字符,出了回车\n 之外
a,b
 
b..g  //b和g之间必须有两个字符,除了\n以外
baxg
baag
 
=================================================================
[] 字符的筛选
 
a[axj]b   //a和b之间只能有一个字符,这个字符只能在a到j之间的任一个
 
aab  √
axb  ×
ajb  √
abb  √
 
axb  ×
 
 
 
a[0123456789]b   //a和b之间只恩只能出现0到9之间的一个字符
a10b
a1b
a0b
axb
 
 
a[0123456789abcdfe....z]b
a[0-9]b
a[a-z]b
 
 
a[0-9a-zA-Z]b    //0到9,a到z,A到Z,之间任意一个字符
a1b
axb
aAb
 
非: ^  取反
 
a[^0-9]b  表示a与b之间只能出现除了0123456789之外的任意单个字符。
 
a[^0-9a-z]b
 
 
 
x[aeiou]y
 
=====================================================
|  表示或的意思
 
 
z|food 由于| 的优先级非常低,所以这个表达式可以匹配  z  或 food
 
这个表达式不匹配zood
 
(z|f)ood 才表示zood或者food
 
 
z
food
zood
 
===========================================
()改变运算的优先级。
 
提取组。
 
=======================================
* 限定符,表示前面的表达式出现0次或多次。
 
zoo*    // o可以出现零次或多次   zo   zooooo
 
 
a.*b    // .可以出现零次或多次  aaddddb匹配
 
 
 
.
[]
|
()
*
 
 
================================================
+ 限定符,表示前边的表达式必须出现1次或者多次。至少得出现1次。
 
a.+b       //+表示.必出出现一次货多次,不能出现零次
 
 
==================================================
? 限定符,表示前边的表达式必须出现0次或者1次。
 
a.?b       //?表示.出现次数要么零次,要么一次
ab
axb
agdsafdsafdab
 
 
? 的另外一个作用就是“终止贪婪模式”。正则表达式默认是贪婪模式。
 
======================================================================
a[0-9]+b
axb     ×
ab ×
a0b √
a00b √
a09b √
a99999999999999999999b √
 
 
==========================其他限定符=====================
{n}  限定符,限定前边的表达式必须出现n次。
a[0-9]{10}b 必须出现10次0到9
a1234567899b √
======================
{n,} 限定符,限定前边的表达式至少出现n次,最多不限次数
 
1[a-z]{3,}2
1axffdsafdsafdasfdsafdsafdsafdsfdsafsdfdsfdsfdsa2
 
 
 
========================================
{n,m} 限定符,限定前边的表达式至少出现n次,最多出现m次。
 
a[0-9]{3,7}b
a0000000b
 
===========================================
.
[]
[^]
|
()
*
+
?
{n}
 
{n,}
{n,m}
 
=================================================
^表示的是字符串的开头,$表示字符串的结尾。
 
 
^ 和 $ 就表示的是字符串的两个特征。一个表示开头的特征,一个表示结尾的特征
 
 
abcxyz
 
^abc.*xyz$
 
^abcdefg$
 
^abcdefg
acxbc
 
abcfdsafdsafdsafdasfdasfdasfds
 
 
fdsfdsfxyz
xyz$
 
 
 
===========================================
a[0-9]b
a\db
 
  方法:\d等价于[0-9]      \D 等价于[^0-9]    digital:数字
 
 
 
 
 方法:\s 表示所有那些空白符,不可见字符    \S    就是除了\s以外的所有字符。
a\s*b
ab
a     
 
 
=================================================
\w [0-9a-zA-Z_]  
 
\W 就是除了\w之外的所有其他字符。word:表示单词字符。
 
\b表示单词的边界。 (断言:只判断,不匹配。)
 
============================================
 
 
下面这几种方式就可以表示任意的单个字符出现在ab之间。
a[\s\S]b
a[\d\D]b
a[\w\W]b

 

posted @ 2016-08-18 15:10  航飞冲天  阅读(219)  评论(0编辑  收藏  举报