1、正则表达式的作用:
校验模式、提取字串、替换文本
2、基本语法
“/”开头,“/”结尾
==============元字符=========================
常用元字符:“+”、“*”、“?”
+:其前导字符必须在目标对象中连续出现一次或多次
*:其前导字符必须在目标对象中出现零次或连续多次
?:其前导对象必须在目标对象中出现零次或一次
eg:
/fo+/ 可以与“fool”、“fo”或“football”等在字母f后面连续出现一个或多个字母o的字符串相匹配。
/eg*/可以与“easy”、“ego”、“egg”等在字母e后面连续出现零个或多个字母g的字符串相匹配。
/Wil?/可以与“Win”或者“Wilson”等在字母i后面连续出现零个或者一个字母l的字符串相匹配。
{n} n是一个非负整数,匹配确定的n次。 如:“o{2}”不能匹配“BOb”中的“o”,但是能匹配“food”中的两个o
{n,}n是一个非负整数。至少匹配n次。如:“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o.“o{1,}”等价于“o+” ,o{0,}等价
于“o*”
{n,m}m和n均为非负整数,其中n<=m。 最少匹配n次且最多匹配m次。例如“o{1,3}”可以配“foooooood”中的前三个o.“o{0,1}”等价于
“o?” [注意:逗号和两个数字之间不能有空格]
\s :用于匹配单个空格符,包括tab键和换行符;
\S:用于匹配除单个空格符之外的所有字符;
\d:用于匹配从0到9的数字;
\w:用于匹配字母,数字或下划线字符;
\W:用于匹配所有与\w不匹配的字符
. :用于匹配除换行符之外的所有字符。
[说明:可以把\s和\S以及\w和\W看作互逆运算]
================定位符===================
定位符用于规定匹配模式在目标对象中出现的位置,常用定位符:“^”、“$”、“\b”、“\B”
^:规定匹配模式必须出现在目标字符串的开头
$:规定匹配模式必须出现在目标对象的结尾
\b:规定匹配模式必须出现在目标字符串的开头或结尾的两个边界之一
\B:规定匹配对象必须位于目标字符串的开头和结尾两个边界之内,即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的
结尾。
eg:
/^hell/ :可匹配“hell” ,“hello” 或“hellhound”,但不匹配“ahell”
/ar$/ :可匹配“car”,“bar” ,但不匹配“card”
/\bbom/ 可匹配“bomm”或“bbom” ,但不匹配“abomd”
/\Bbom/可匹配“abomd”,但不匹配“bomm”或“bbom”
=================指定范围======================
/[A-Z]/:匹配A到Z范围内任何一个大写字母
/[a-z]/:匹配a到z范围内任何一个小写字母
/[0-9]/: 匹配0到9范围内任何一个数字相匹配
eg:
/([a-z][A-Z][0-9])+/ :可以匹配第1个字符为小写字母,第2个字符为大写字母,第3个字符为数字的任意字串
================管道符:或===================
|:在多个不同的模式中任选一个匹配
eg:
/to|two|2/ :可以匹配 “to”、“too”、“2”
================否定符:[^]=======================
[^]:规定目标对象中不能存在模式中所规定的字符串
eg:
/[^A-C]/:可以与A、B、C之外的任何字符相匹配
一般来说:当“^”出现在"[]"内时就被视作否定运算符,而出现位于“[]”之外,或没有“[]”时,应该被视作定位符。
=====================转义符=========================
当需要在正则表达式的模式中加入元字符,并查找与其匹配对象时,可以使用转义符“\”
如:
\n : 匹配一个换行符
\\:匹配“\”
\(:匹配"("
eg:
/Th\*/ :匹配 “Th*” 而非“The”
=======================优先级=====================
1、\ 转义符
2、圆括号和方括号 :() 、[]
3、限定符: * , + , ? ,{n} ,{n,},{n,m}
4、^、$
5、 “或”操作:|
参考:http://wenku.baidu.com/view/8a9ad2aedd3383c4bb4cd2fd.html