JS正则_基本语法

上一篇 / 下一篇  2010-11-22 23:31:36 / 个人分类:正则表达式

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


TAG:

 

评分:0

我来说两句

Open Toolbar