正则表达式详解

正则表达式主要作用:分割、匹配、查找、替换

正则表达式中包括的元素:

1.原子(普通字符:a-z  A-Z   0-9   、原子表、转义字符)

2.元字符(有特殊功能的字符)

3.修正模式符(系统内置部分字符,例如:i、m、s、u)


原子

1.  a-z  A-Z  0-9  //最常见的字符

2. (abc)               //用圆括号包含起来的单元符号,匹配圆括号整体

3.[abc]                 //用方括号包含的原子表,匹配方括号中单个字符

4.[^abc]               //用方括号包含的原子表,匹配除方括号中字符外的任意字符

5.转义字符:

                            \d    //包含所有数字    [0-9]

                            \D   //除所有数字外    [^0-9]

                            \w   //包含所有英文字符  [a-z A-Z _ 0-9]

                            \W  //除所有定义字符外 [^a-z A-Z _ 0-9]

                            \s    //匹配一个不可见原子  例如:[\f\n\r\t\v]

                            \S   //匹配一个可见原子  例如:[^\f\n\r\t\v]


元字符:

* //匹配前一个内容的0次或者多次

. //匹配内容的0次或者多次,但不包含换行(\n)

+ //匹配前一个内容的1次或者多次

? //匹配前一个内容的0次或者1次

| //选择匹配类似php中的|(因为这个运算符号是弱类型,导致前面最为整体匹配),多个选择一个匹配

^ //匹配字符串首部内容

$ //匹配字符串尾部内容

\b //匹配单词边界,边界可以是空格或者特殊符号

\B //匹配单词边界以外内容

{m} //匹配前一个内容重复次数为m次

{m,} //匹配前一个内容重复次数至少为m次

{m,n} //匹配前一个内容重复次数从m到n此


修正模式符:

是正则表达式的一个增强和补充功能,使用在正则之外,格式/正则/修正模式符

i //正则内容在匹配时不区分大小写(默认区分)

m //在匹配首内容(^)或者尾部(&)时,采用多行识别匹配,注意:^与$对象是段落的首与尾,而模式修正符m的对象是每一行的句首与句尾

s //将转义回车(\n)取消,为了单行匹配,如 .匹配时,(.*)

x //忽略正则中的空白

A //强制从头开始匹配

D //强制$匹配尾部无任何内容(\n)

U //禁止贪婪匹配,只跟踪到最近的一个匹配符并结束,常用在采集程序上的正则表达式



技巧:

1.圆括号使用技巧:$mode = '/(a)(b)\\1\\2';   \\1表示(a),\\2表示(b),在处理正则时,圆括号被写入内存中,而\\是读取圆括号在内存中存放位置,其位置以1开始

2.  .*表示匹配所有字符,除换行符(\n)外

3.  \w+表示匹配多个随机英文字符


正则调试工具使用:regexpal    (http://regexpal.isbadguy.com/)



你可能感兴趣的:(正则表达式详解)