正则表达式
[^....] 匹配方括号中字符序列未包含的 /[^012]/可以与0A1B2C中的除字符0或1或2之外的任意字符匹配
任意字符,其中可以使用连字符 /[a-z]/可以与a302gsfd91sa4sd中不在小写字母a-z之间的任意字符匹配
"-"匹配不再指定范围内的任意
字符
. 匹配除了换行和回车之外的任意 无
字符,相当于[^\r\n]
\d 匹配任意一个数字字符,相当于 \/d\可以匹配wy3k中的3
[0-9]\/d/d\可以匹配wy34k中的34
\D 匹配任意非数字字符,相当于 \/D\可以匹配wy3k中的w或y或k
[^0-9]
\s 匹配任意空白字符,如空格,制 /\s\d/可以匹配my age is 20中的 2,注意2前面的空格
表符,换行符等,相当于
[\t\n\x0b\f\r]
\S 匹配任意非空白符,相当于 /\S/可以匹配a b中的a或b
[^\t\n\x0b\f\r]
\w 匹配任意英文字母,数字字符以 /\w/可以匹配shjhjhjdd323d_df%#中的字母,数字,下划线
及下划线,相当于[a-zA-Z0-9_]
2.量词:
? 匹配前一项0次或1次 /JS?/可以匹配JScripter中的JS或JavaScript中的J
+ 匹配前一项的一次或多次,单至 /JS?/可以匹配JS,也可以匹配JSSSS,也就是J后面一定要有一个及以上的S
少出现一次
* 匹配前一项0次或多次,也就是 /bo*/可以匹配b,bo,boo,booo
任意次
{n} 匹配前一项恰好n次,其中n为非 /o{2}/可以匹配book中的oo,也可以匹配booook中任意两个连续的o
负整数
{n,} 匹配前一次至少n次 /0{2}/不匹配bok中的o,因为至少要匹配两个连续的o。所以可以匹配book和booook中的所有o
{n,m} 匹配前一项至少n次,但不能超 /o{2,5}/可以匹配book中的两个o,也可以匹配boooook中的5个连续的o
过m次,其中n,m为非负整数,
且n<=m
注意:在使用{n,m}时,数字与逗号之间不能有空格符
3.指定匹配位置
^ 匹配字符串的行开头。^必须 /^g/匹配good中的g,但不匹配bag中的g
出现在指定字符串的最前面才
起作用
$ 匹配字符串的行结尾。$必须 /g$/匹配bag中的g,但不匹配good中的g
出现在指定字符串的最后面才
起作用
\b 匹配单词的边界 /e\b/匹配"I love seek"中love的e,不匹配seek中的e
\B 匹配单词的非边界 / e\b/匹配"I love seek"中seek的e,不匹配love 中的e
4.选择匹配符
正则表达式的选择匹配福只有一个"|",使用"|"可以匹配指定的多个选项中的任意一项。例如/World|Dream/可以匹配"One World One Dream"中的World或Dream
5.分组
分组就是利用小括号将多个单独的字符或字符类组合成子表达式,以便可以像处理一个大力的单元那样,以便于用"|","*","+"或者"?"等来处理他们。比如/J(ava)?Script/可以匹配JavaScript,也可以匹配JScript
一个正则表达式是由普通字符(如a-z)以及特殊字符(称为元字符)组成的模式字符串。该模式字符串描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模版,将某个字符模式与搜索的字符串进行匹配。
表示方式/正则表达式/
1.字符类:(一个字符类每次只能匹配一个满足要求的字符)
[....] 匹配方括号中字符序列的任意一个字符,其中可以使用连字符“-”匹配指定范围内的任意字符
/[012]/可以与0A1B2C中的字符0或1或2匹配 /[0-5]/可以与a302gsfd91sa4sd中的0至5之间任意数字字符匹配
[^....] 匹配方括号中字符序列未包含的 /[^012]/可以与0A1B2C中的除字符0或1或2之外的任意字符匹配
任意字符,其中可以使用连字符 /[a-z]/可以与a302gsfd91sa4sd中不在小写字母a-z之间的任意字符匹配
"-"匹配不再指定范围内的任意
字符
. 匹配除了换行和回车之外的任意 无
字符,相当于[^\r\n]
\d 匹配任意一个数字字符,相当于 \/d\可以匹配wy3k中的3
[0-9]\/d/d\可以匹配wy34k中的34
\D 匹配任意非数字字符,相当于 \/D\可以匹配wy3k中的w或y或k
[^0-9]
\s 匹配任意空白字符,如空格,制 /\s\d/可以匹配my age is 20中的 2,注意2前面的空格
表符,换行符等,相当于
[\t\n\x0b\f\r]
\S 匹配任意非空白符,相当于 /\S/可以匹配a b中的a或b
[^\t\n\x0b\f\r]
\w 匹配任意英文字母,数字字符以 /\w/可以匹配shjhjhjdd323d_df%#中的字母,数字,下划线
及下划线,相当于[a-zA-Z0-9_]
2.量词:
? 匹配前一项0次或1次 /JS?/可以匹配JScripter中的JS或JavaScript中的J
+ 匹配前一项的一次或多次,单至 /JS?/可以匹配JS,也可以匹配JSSSS,也就是J后面一定要有一个及以上的S
少出现一次
* 匹配前一项0次或多次,也就是 /bo*/可以匹配b,bo,boo,booo
任意次
{n} 匹配前一项恰好n次,其中n为非 /o{2}/可以匹配book中的oo,也可以匹配booook中任意两个连续的o
负整数
{n,} 匹配前一次至少n次 /0{2}/不匹配bok中的o,因为至少要匹配两个连续的o。所以可以匹配book和booook中的所有o
{n,m} 匹配前一项至少n次,但不能超 /o{2,5}/可以匹配book中的两个o,也可以匹配boooook中的5个连续的o
过m次,其中n,m为非负整数,
且n<=m
注意:在使用{n,m}时,数字与逗号之间不能有空格符
3.指定匹配位置
^ 匹配字符串的行开头。^必须 /^g/匹配good中的g,但不匹配bag中的g
出现在指定字符串的最前面才
起作用
$ 匹配字符串的行结尾。$必须 /g$/匹配bag中的g,但不匹配good中的g
出现在指定字符串的最后面才
起作用
\b 匹配单词的边界 /e\b/匹配"I love seek"中love的e,不匹配seek中的e
\B 匹配单词的非边界 / e\b/匹配"I love seek"中seek的e,不匹配love 中的e
4.选择匹配符
正则表达式的选择匹配福只有一个"|",使用"|"可以匹配指定的多个选项中的任意一项。例如/World|Dream/可以匹配"One World One Dream"中的World或Dream
5.分组
分组就是利用小括号将多个单独的字符或字符类组合成子表达式,以便可以像处理一个大力的单元那样,以便于用"|","*","+"或者"?"等来处理他们。比如/J(ava)?Script/可以匹配JavaScript,也可以匹配JScript