JavaScript-正则表达式(基础罗列)

正则表达式

正则表达式,又称规则表达式。
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
正则表达式通常用来检索、替换那些符合某个规则的文本。

I.创建正则(三种方式)

1.通过new创建正则

var box = new RegExp("hello", "ig");

2.省略new创建正则

var box=RegExp("hello","ig");

3正则常量赋值

var box=/hello/ig

RegExp:可以传入2个参数

a.正则主体部分,一般情况下就是字符串

b.修饰符(没有先后顺序)
   
  i 忽略大小写
  g 全局匹配
  m 换行匹配

II.正则方法 (只有2种)

1.test(重点)

格式:正则.test(字符串)

功能:在字符串匹配中匹配正则是否存在

返回值:如果存在返回true
	  如果不存在返回false

var str="how are you";
var reg=/are/i;
console.log(reg.test(str)); //true
	  

2.exec(了解)

格式:正则.exec(字符串)
功能:在字符串中匹配正则是否存在
返回值:如果存在返回一个数组,数组里面存放着匹配的内容
      如果不存在,返回null
      
var str="how Are you";
var reg=/are/i;
console.log(reg.exec(str)); //Are    
console.log(reg.exec(str).length); //1  

III.字符串方法(4种,搭配正则使用)

1.match

格式:字符串.match(正则)
功能:在字符串中匹配这个正则是否存在
返回值:如果存在,返回一个数组,数组放着,匹配到的子串
      如果不存在,返回null
      
var str = "how are Are ARE you";
var box = /arex/ig;
alert(str.match(box)); //are,Are,ARE    
      

2.search

格式:字符串.search(正则)
功能:在字符串中,查找正则表达式,第一次出现的位置
返回值:如果查找到,返回查找到的下标
      如果查找不到,返回-1
      
 var str = "how ARE are you";
 var box = /are/i;
 alert(str.search(box)); //4

3.replace

格式:字符串.replace(正则,newstr)
功能:在字符串中找到正则,并且将他替换成新字符串
返回值:替换成新的字符串

var str = "how are Are ARE you";
var box = /are/ig;
var newStr = str.replace(box, "two");
alert(newStr); //how two two two you

4.split

格式:字符串.split(正则)
功能:使用正则对字符串进行字符串的分割
返回值:分割完的子串组成的数组

 var str = "how are Are ARE you";
 var box = /are/i;
 var arr = str.split(box);
 alert(arr); //how , , , you

IV.元字符

【概念】在正则表达式中有特殊含义的字符。

1.单个字符

.   匹配单个任意字符

[范围] 匹配单个范围内的字符

[0-9] 匹配单个的数字字符

[a-zA-Z0-9_]匹配单个数字,字母,或者下划线字符

[^范围] 匹配单个除范围内的字符

\d 等价于[0-9] 匹配单个数字字符

\D 等价于[^0-9]匹配单个的非数字字符

\w 等价于[a-zA-Z0-9_] 匹配单个数字、字母或者下划线字符

\W 等价于[^a-zA-Z0-9_] 匹配非单个数字、字母或者下划线字符

2.空白字符

\s 匹配任意的空白字符 空格,回车,换行,tab键
\S 匹配任意的非空白字符

3.锚字符

必须用在正则表达式的开头和结尾
^ 行首匹配
$ 行尾匹配

4.重复字符

x 代表任意的单个字符或者任意的单个元字符

x+ 至少匹配一个x字符

x? 匹配0个或者1个x字符

x* 匹配任意个x字符

x{m,n} 匹配至少m个,至多n个x字符

x{n} 匹配n个x字符

(xyz) 凡是小括号括起来的多个字符,当做一个字符处理

5.替代字符

| 替代字符

 var str = "bins";

 var reg = /google|baidu|bing/;

 alert(box.test(str)); //false

V.修饰符

a.i 忽略大小写

b. g 全局匹配

c. m 换行匹配

5.替代字符

| 替代字符

 var str = "bins";

 var reg = /google|baidu|bing/;

 alert(box.test(str)); //false

V.修饰符

a.i 忽略大小写

b. g 全局匹配

c. m 换行匹配

​ 遇到换行字符,自动重新计算行首

猜你喜欢

转载自blog.csdn.net/liuqiao0327/article/details/106259533