js正则表达式(RegExp)

概念

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE)。

作用
正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

创建
(1)字面值

  //字面值
  var regexp =/^\d+$/;   //表示匹配以数字开头以数字结尾的字符串
   alert(regexp.test("asedfasfd"));

(2)构造函数

 //构造函数
 	var regexp=new RegExp("^\\d+$");
	alert(regexp.test("asedfasfd"));

区别
(1)字面量创建方式不能进行字符串拼接,实例创建方式可以

var regParam = 'sadf';
var reg1 = new RegExp(sadf+'a');
var reg2 = /rdfd/;
console.log(reg1);  //   /sadfa/
console.log(reg2);  //  /rdfd/

(2)字面量创建方式特殊含义的字符不需要转义,实例创建方式需要转义

var reg1 = new RegExp('\d');  //    /d/ 
var reg2 = new RegExp('\\d')  //   /\d/
var reg3 = /\d/;

元字符
代表特殊含义的元字符

\d : 0-9之间的任意一个数字  \d只占一个位置
\w : 数字,字母 ,下划线 0-9 a-z A-Z _
\s : 空格或者空白等
\D : 除了\d
\W : 除了\w
\S : 除了\s
 . : 除了\n之外的任意一个字符
 \ : 转义字符
 | : 或者
() : 分组
\n : 匹配换行符
\b : 匹配边界 字符串的开头和结尾 空格的两边都是边界 => 不占用字符串位数
 ^ : 限定开始位置 => 本身不占位置
 $ : 限定结束位置 => 本身不占位置
[a-z] : 任意字母 []中的表示任意一个都可以
[^a-z] : 非字母 []中^代表除了
[abc] : abc三个字母中的任何一个 [^abc]除了这三个字母中的任何一个字符

代表次数的量词元字符

* : 0到多个
+ : 1到多个
? : 0次或1次 可有可无
{n} : 正好n次;
{n,} : n到多次
{n,m} : n次到m次

表达式

[]:可在[]写入范围
[^abc]:开头为abc

[0-9]:范围0-9

[a-z]:范围a-z

[A-Z]范围A-Z

[A-z]范围A-Z,a-z
|:表示或
发布了137 篇原创文章 · 获赞 42 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_40486955/article/details/105315005
今日推荐