js正则表达式用法

js正则表达式用法 js正则表达式怎么定义?

js正则表达式如何界定?

js正则表达式怎么定义?

javascript正则表达式的2种定义方法:一种是立即启用RegExp(),第二种是可以直接用字面量来界定,即var re = /正则表达式标准/。

js正则表达式的2种定义方法实质全是启用RegExp()方式在启用同一段正则表达式编码的情况下,ECMAScript3和ECMAScript5中主要表现彻底不一样function reg(){ var re = /\\\\sjavascript/ return re }各自在ECMAScript3和ECMAScript5中启用reg()方式多次在ECMAScript3中,启用的是同一个RegExp目标,在ECMAScript5中,启用的是不一样的RegExp目标 由于在EXCMAScript5中每实行一次,就形成一个新的RegExp目标因此在ECMAScript3时会导致程序流程的安全隐患,由于只需在一个地区对这一目标开展改动得话,全部启用到这一另一半的位置都是会转变。

js 正则表达式?

在JavaScript中,正则表达式通常用以2个字符串方式:search()和replace()。

search()方法用以查找字符串中选定的子字符串,或查找与正则表达式相匹配的子字符串,并回到子串的初始部位。

replace()方式适用于在字符串选用一些标识符更换另一些标识符,或更换一个与正则表达式匹配的子串。

js正则表达式界定?

正则表达式,又被称为标准关系式。(英文:Regular Expression,在编码中常会缩写为regex、regexp或RE),电子信息科学的一个定义。正则表达式通常被用于查找、更换这些合乎某一方式(标准)的文字。

一、在js中界定一个正则表达式

[ ]中括号中可以写好几个任意标识符,代表只匹配一个字符

[abc]:代表可以匹配a,b,c三个字母中的任意一个英文字母

1./....../ 以 / 开始,以 / 末尾,正中间的主要内容为正则表达式

let regex=/[abc]/

2.new RegExp 目标

let regex = new RegExp(#34[abc]#34)//此行的源代码可以将一个字符串变换为正则表达式

let regex = new RegExp(/[abc]/)

二、正则表达式中的两种方式

test() :回到一个 boolean值,代表是不是匹配。

let s = #34abcde#34

console.log(/[abc]/.test(s)) //true

exec():回到一个二维数组,数组中储放正则表达式匹配的原素。

console.log(/[abc]/.exec(s))

//[#34a#34,index:0.input:#34abcde#34]

//a:匹配到的标识符

//index:匹配到的字符的数据库索引

//input:匹配的字符串

三、正则表达式在js中的功效

1.正则表达式时专业用于解决字符串的

2.正则表达式可以从字符串中 搜索 必须的数据信息

3.正则表达式可以从字符串中 获得 必须的数据信息

4.正则表达式可以从字符串中 更换 必须的数据信息

[abc]:代表可以匹配a,b,c三个字母中的任意一个英文字母

[0-9]:代表匹配任意一个数据

[a-z]:代表可以匹配小写字母中的任意一个

[A-Z]:代表可以匹配英文大写字母中的任意一个

[a-zA-Z]:代表匹配全部的英文字母

[^]:假如中括号中以^开始,代表 非

[^0-9]:代表匹配非数据的任意一个字符

[^a-z]:代表可以匹配非小写字母中的任意一个

[^A-Z]:代表可以匹配非英文大写字母中的任意一个

[^a-zA-Z]:代表匹配全部的非英文字母

缩写:

\\\\d=gt[0-9]

\\\\D=gt[^0-9]

\\\\w=gt[0-9a-zA-Z_] 匹配英文字母数据和下横线中的任意一个字符串

\\\\W:[^0-9a-zA-Z_]

\\\\s:匹配空白字符

\\\\S:除开空白符外的任何标识符

. 匹配除开换行符以外的任何的任意一个字符

\\\\. 匹配一个点

let X = / ///界定一个新的正则表达式

X{n } :匹配n个X

X{n, }:最少匹配 n个X

X{n,m}:匹配n到m个X

四、正则表达式

1.贪欲式关系式

let X = / ///界定一个新的正则表达式

//X* :匹配0 到好几个,等额的于X{0,}

//X :最少匹配一个,等额的于X{1,}

//X? :匹配较多一个等额的于X{0,1}

2.非贪欲式关系式=gt在贪欲式关系式后增加一个 ?

let X = / ///界定一个新的正则表达式

//X*? :匹配0

//X ?:最少匹配一个

//X?? :匹配较多一个

3.限定符

^ : 假如发生在正则表达式的第一个部位 代表以...开始

/^[0-9]/以0-9中任意一数据开始

$ :假如发生在正则表达式的尾端代表以...末尾

/[0-9]$/以0-9中任意一数据末尾

4.挑选

| :或

5.分类

( ... ) 小括号 组从左往右开展查看

6.引入

\\

um 引用num组的匹配具体内容,num从1逐渐

7.取名捕获组

(?ltkeygt\\\\d ) 将d 匹配的具体内容取值给key可以根据exec().groups获得key的值

8.非捕获组匹配

regex = /famil(?:y|ies)/

var s11 = #34familysss#34

console.log(regex.exec(s11))

let version = #34Wind1ow 98#34

// regex = /Window\\\\s (\\\\w )/

regex = /(?lt!Window)\\\\s (\\\\w )/

console.log(regex.exec(version))

famil(?:y|ies) 这时的小括号不可以算是分类

9.断言

?= 正方向明确断言

?! 正方向否认断言

?lt= 反方向明确断言

?lt! 反方向否认断言

10.分辨一个字符串中能否有手机号码

/1[3-9]\\\\d{9}/

//此为包括 字符串中有合乎该标准则回到true

/^1[3-9]\\\\d{9}$/

//此为一个以 1 开始 十一位的数据字符串