js正则表达式基本用法
2017-07-27 14:00
204 查看
一个正则表达式是由普通字符(如a~z)以及特殊字符(称为元字符)组成的模式字符串。
该模式字符串描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一
个模板,将某个字符模式与所搜索的字符串进行匹配。
1、字符类
[...] 匹配方括号中字符序列的任意一个 /[012]/可以与0A1B2C中的字符0或1或2匹配
字符。其中可以使用连字符"-"匹配 /[0-5]/可以与a3g02gsf91dfs4中的0到5
指定范围内的任意字符。 之间的任意数字字符匹配
[^...] 匹配方括号中字符序列未包含的任意 /[^012]/可以与0A1B2C中的除0、1、2
字符。其中可以使用连字符"-"匹配不 之外的任意字符匹配,在这里匹配A或B或C
在指定范围内的任意字符。 /[^a-z]/可以与a3g02gsf91dfs4不在小写
字母a-z之间的任意字符匹配。
. 匹配除了换行和回车之外的任意字符, 无
相当于[^\r\n]
\d 匹配任意一个数字字符,相当于[0-9] /\d\d/可以匹配wy32k中的32
\D 匹配任意非数字字符,相当于[^0-9] /\D/可以匹配wy3k中的w或y或k
\s 匹配任意空白字符,如空格、制表符、 /\s\d\d/可以匹配my age is 20.中的 20
换行符等,相当于[\t\n\x0B\f\r] 注意2前面的空格。
\S 匹配任意非空白符,相当于[^\t\n\x0B\f\r] /\S/可以匹配A B中的A或B
\w 匹配任何英文字母、数字字符以及下划线, /\w/可以匹配shdf82w09_+&^中的字母、
相当于[a-zA-Z0-9_] 数字、下划线
2、量词
代码 说明 示例
? 匹配前一项0次或1次 /JS?/可以匹配JScript中的JS或者JavaScript中
的J
匹配前一项1次或多次, /JS+/可以匹配JS,也可以匹配JSSSS或者JSSSSSS,
但至少出现1次 也就是说可以匹配J后面出现一个或多个S。
匹配前一项0次或者多次, /bo*/可以匹配b、bo、boo、boooo之类的字符串
也就是任意次
{n} 匹配前一项恰好n次,其中n为 /o{2}/可以匹配book中的两个o,也可以匹配booook
非负整数 中任意两个连续的o
{n,} 匹配前一项至少n次 /o{2,}/不匹配home中的o,因为至少要匹配两个o。
所以可以匹配good或者gooooood中的所有o
{n,m} 匹配前一项至少n次,但不能 /o{2,5}/可以匹配book中的两个o,也可以匹配
超过m次,其中n、m是非负整 boooook中的5个连续的o
数,并且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
该模式字符串描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一
个模板,将某个字符模式与所搜索的字符串进行匹配。
1、字符类
[...] 匹配方括号中字符序列的任意一个 /[012]/可以与0A1B2C中的字符0或1或2匹配
字符。其中可以使用连字符"-"匹配 /[0-5]/可以与a3g02gsf91dfs4中的0到5
指定范围内的任意字符。 之间的任意数字字符匹配
[^...] 匹配方括号中字符序列未包含的任意 /[^012]/可以与0A1B2C中的除0、1、2
字符。其中可以使用连字符"-"匹配不 之外的任意字符匹配,在这里匹配A或B或C
在指定范围内的任意字符。 /[^a-z]/可以与a3g02gsf91dfs4不在小写
字母a-z之间的任意字符匹配。
. 匹配除了换行和回车之外的任意字符, 无
相当于[^\r\n]
\d 匹配任意一个数字字符,相当于[0-9] /\d\d/可以匹配wy32k中的32
\D 匹配任意非数字字符,相当于[^0-9] /\D/可以匹配wy3k中的w或y或k
\s 匹配任意空白字符,如空格、制表符、 /\s\d\d/可以匹配my age is 20.中的 20
换行符等,相当于[\t\n\x0B\f\r] 注意2前面的空格。
\S 匹配任意非空白符,相当于[^\t\n\x0B\f\r] /\S/可以匹配A B中的A或B
\w 匹配任何英文字母、数字字符以及下划线, /\w/可以匹配shdf82w09_+&^中的字母、
相当于[a-zA-Z0-9_] 数字、下划线
2、量词
代码 说明 示例
? 匹配前一项0次或1次 /JS?/可以匹配JScript中的JS或者JavaScript中
的J
匹配前一项1次或多次, /JS+/可以匹配JS,也可以匹配JSSSS或者JSSSSSS,
但至少出现1次 也就是说可以匹配J后面出现一个或多个S。
匹配前一项0次或者多次, /bo*/可以匹配b、bo、boo、boooo之类的字符串
也就是任意次
{n} 匹配前一项恰好n次,其中n为 /o{2}/可以匹配book中的两个o,也可以匹配booook
非负整数 中任意两个连续的o
{n,} 匹配前一项至少n次 /o{2,}/不匹配home中的o,因为至少要匹配两个o。
所以可以匹配good或者gooooood中的所有o
{n,m} 匹配前一项至少n次,但不能 /o{2,5}/可以匹配book中的两个o,也可以匹配
超过m次,其中n、m是非负整 boooook中的5个连续的o
数,并且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
相关文章推荐
- js中正则表达式的一些基本用法
- JS正则表达式基本用法与常用示例
- javascript(js)正则表达式基本用法
- JS正则表达式基本用法(经典全)
- JS正则表达式基本用法(经典全)
- JS正则表达式基本用法(经典全)
- 正则表达式的基本用法
- JS基于正则表达式的替换操作(replace)用法示例
- js中正则表达式的用法
- 正则表达式和grep的基本用法9
- Java正则表达式的基本用法
- js 正则表达式基本字符常用语法
- JS前向后瞻正则表达式定义与用法示例
- js正则表达式基本语法
- JS正则表达式修饰符中multiline(/m)用法分析
- PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
- 正则表达式的基本用法和常用案例
- 关于JS中判断是数字和小数的正则表达式用法
- js 正则表达式多个转义字符的用法
- JS 正则表达式用法(适用于没有学过正则表达式的同学 或者 忘记了某个概念需要查阅的同学)