正则表达式是应用于字符串的
一、创建正则表达式:
1、字面量创建:
var myRegExp=/pattern/attributes;
2、创建RegExp对象(构造函数法):
var myRegExp=new RegExp(“pattern”,“attributes”);
注:pattern:是正则表达式的字符串(必选);
attributes:包含属性“g”、“i”、“m”(可选)
“g” 表示全局匹配,也就是说应用于整个字符串,而不是说发现第一个子字符串时符合要求时就停止。
“i”表示不区分大小写,(a与A按一样来看)
“m”表示多行模式,也就是说,当位于某一行的末尾时,不会停止,而是跳到下一行的开头,继续运行
二、元字符:(注意大小写)
1、特殊字符:
- \d 0~9之间的任何数字 一个\d只能表示一个数字
- \D 任何非数字字符
- \w 任何单词字符,即a-z,A-Z,0~9以及下划线
-
\W 任何非单词字符 如:\W可以匹配@ 但不匹配a
-
\s 任何空白字符 \s与制表符回车符换页符竖杠匹配
-
\S 任何非空白字符
-
. 除换行符(\n)之外的任意单个字符 .匹配a或者4,或者@
-
[…] 匹配位于方括号之内的任何一个字符,[a-z]将匹配在a~z范围内的任何字符
-
[^…] 匹配除方括号内的字符之外的任何字符
2、重复字符:
-
{n} 前一项出现n次 x{2}与xx匹配
-
{n,} 前一项出现n次,或者n次以上 x{2,}与xx xxx xxxx匹配
-
{n,m} 前一项至少出现n次最多出现m次
-
? 前一项出现0次或1次
-
+ 前一项出现1次或多次
-
* 前一项出现0次或多次
3、位置字符:
-
^ 模式必须位于字符串的开头,如果是多行字符串,模式就位于一行的开头。对于多行文本(即包含回车符的字符串),在定义正则表达式时,需 要使用/myregex/m设置多行标记。
-
$ 模式必须位于字符串的结束位置,如果是多行字符串,模式就位于一行结束位置。对于多行文本(即包含回车符的字符串),在定义正则表达式 时,需要使用/myregex/m设置多行标记
-
\b 匹配单词分界位置,即单词字符与非单词字符之间的位置
-
\B 匹配非单词分界位置
注意:若一个字符串中含有“+”号,若你想表示该字符,必须得加反斜杠,比如“\+”,同样的还有“\?” “\.”