与java相似,js也是一种面向对象的语言,具有面向对象的特征。
正则表达式(RegExp)
正则表达式是描述字符模式的对象,它可以包含字母、数字、特殊字符。
1.可以用构造函数的方法定义正则表达式,
var reg=new RegExp(pattern,attributes);
2.字面量 var reg=/pattern/attributes;
- pattern − >指定正则表达式或其他正则表达式模式的字符串。
- attributes − >包含“g”、“i”和“m”属性中的任何一个的可选字符串,这些属性分别指定全局匹配、不区分大小写和多行匹配。匹配模式
修饰符
i: 不区分大小写。
g: 执行全局匹配而不会只找到一个就停下来。
m:执行多行匹配。
正则表达式
test:检测字符串是否符合正则表达式。符合返回true,不符合返回false。
语法
| 可以表示或的意思。[ 中括号内的表达式也是或的关系 ]
可以用 [a-z]表示任意的小写字母。[A-z] 表示任意字母。
^表示除了某个元素。
字符串与正则相关的方法
-
- split( ):可以将字符串拆分为数组,参数是拆分方法,可以与正则表达式联合使用。它会默认全局匹配。默认用,拆分。
- seach( ) 搜索字符串是否有指定内容,并返回第一次出现的索引,未搜到会返回-1.
- match ( ) 可以根据正则表达式,从一个字符串中将符合条件的内容提取出来。用g设置全局匹配。 它会将匹配到的内容封装到一个数组中返回。
- replace ( ) 可以将字符串中的指定内容替换为新的内容。需要两个参数,被替换的内容和新的内容。
正则语法
元字符
1 | . 单个字符 |
2 | \s 空格字符(空格、制表符、换行符) |
3 | \S 非空格字符 |
4 | \d 一位数字 (0-9) |
5 | \D 非数字 |
6 | \w 单词字符 (a-z, A-Z, 0-9, _) |
7 | \W 非单词字符 |
8 | [\b] 文本退格(特殊情况)。表示单词边界。 |
量词 {n} 设置一个内容出现的次数。
{m,n} m次到n次
{m,} m次以上
+ 至少一个
*0个或多个
?0个或一个
格式控制
^ 表示开头,在中括号中是除了的意思
$ 表示结尾