正则表达式常用方法
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
一、在js中定义一个正则表达式
[ ]中括号中可以写多个任意字符,代表只匹配一个字符
[abc]:代表可以匹配a,b,c三个字母中的任意一个字母
1./....../ 以 / 开头,以 / 结尾,中间的内容为正则表达式
let regex=/[abc]/;
RegExp 对象
let regex = new RegExp("[abc]");//此行的代码可以将一个字符串转换为正则表达式
let regex = new RegExp(/[abc]/);
二、正则表达式中的两个方法
test() :返回一个 boolean值,代表是否匹配。
let s = "abcde";
console.log(/[abc]/.test(s)) ;//true
exec():返回一个数组,数组中存放正则表达式匹配的元素。
console.log(/[abc]/.exec(s))
//["a",index:0.input:"abcde"];
//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=>[0-9];
\D=>[^0-9];
\w=>[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.非贪婪式表达式=>在贪婪式表达式后添加一个 ?
let X = / /;//定义一个新的正则表达式
//X*? :匹配0
//X ?:至少匹配一个
//X?? :匹配最多一个
3.限定符
^ : 如果出现在正则表达式的第一个位置 代表以...开头
/^[0-9]/以0-9中任意一数字开头
$ :如果出现在正则表达式的尾部 代表以...结尾
/[0-9]$/以0-9中任意一数字结尾
4.选择
| :或
5.分组
( ... ) 小括号 组从左到右进行查询
6.引用
\num 引用num组的匹配内容,num从1开始
7.命名捕获组
(?<key>\d ) 将d 匹配的内容赋值给key可以通过exec().groups获取key的值
8.非捕获组匹配
regex = /famil(?:y|ies)/
var s11 = "familysss" ;
console.log(regex.exec(s11))
let version = "Wind1ow 98";
// regex = /Window\s (\w )/
regex = /(?<!Window)\s (\w )/
console.log(regex.exec(version))
famil(?:y|ies) 此时的小括号不能算作分组
9.断言
?= 正向确定断言
?! 正向否定断言
?<= 反向确定断言
?<! 反向否定断言
10.判断一个字符串中是否有手机号
/1[3-9]\d{9}/
//此为包含 字符串中有符合该条件则返回true
/^1[3-9]\d{9}$/
//此为一个以 1 开头 十一位的数字字符串
正则表达式所有字符
何为非法,并没有给规则? 如:除字母(区分大小写),数字,下划线以外的都视为非法字符的话,且为4到16位字符长度,以字母开头 ^[a-zA-Z]{1}[a-zA-Z0-9_]{3,15}$
正则表达式匹配某个字符后的内容
每种空白字符都有对应的ascii值。用十进制度量的话,常见的tab是9,换行是10,回车是13,空格是32。正则表达式运算时,先将数据转换成二进制形式,然后再根据规则进行匹配。
正则表达式任意字符怎么表示
表达式 .* 就是单个字符匹配任意次,即贪婪匹配。 表达式 .*? 是满足条件的情况只匹配一次,即最小匹配. 举例介绍: 如: 懒惰模式正则: src=".*?" 结果:src=
正则中任意字符怎么表示
.是任意字符 可以匹配任何单个字符,例子:正则表达式r.t 可以匹配这些字符串:rat、rut、r t,但是不匹配root。 .*?表示匹配任意字符到下一个符合条件的字符例子:正则表达式a.*?xxx
js正则表达式怎么用
在JavaScript中,正则表达式通常用于两个字符串方法:search()和replace()。search()方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起
正则表达式测试工具有哪些
任何web软件和应用程序都需要强大的数据库管理工具,因此开发者选择一款合适的数据库管理工具尤为重要。本文列出了几款好用的数据库管理工具(有些并非开源或免费),以供开发者们参考选择:1、MySQL管理工