JS-正则表达式(基本语法、test、exec、\d\D\w\W\s\S .)
二,正则表达式
1,什么是正则表达式
是一种规范,对字符串格式进行验证的规范
不用自己写,常用的正则表达式,网上都有,只要会使用就可以 2,定义方法
字面量 var reg = /正则表达式/ 常用方法
构造函数 var reg = new RegExp('正则表达式') 3,正则方法
正则表达式.test(字符串) 验证字符串是否符合规范 4,基本语法
元字符: 小写的表示 只要有其中一个出现就可,大写表只要出现它没有的即只要取非就可
\d 数字
\D 非数字 \w 数字,字母,下划线
\W 非 数字,字母,下划线 \s 空格
\S 非空格 . 非换行 边界符
^ 开始
$ 结束 限定符
* 0 --- 正无穷
+ 1 --- 正无穷
? 0 --- 1
{n} 只能是n个
{n,} 至少是n个
{n,m} n至m个 特殊符号
\ 解析元字符和转义符
| 逻辑或
() 作为整体执行
[] 只要是其中一个数值,就符合
a-b a至b范围之内的
[^] 对内容取反 写在表达式之外的
/正则/i 不区分大小写
/正则/g 全局匹配 5,和正则表达式相关联的函数
search()
默认区分大小写,使用正则,不区分大小写
不区分大小写 变量.search(/正则/i) match()
默认只捕获第一个符合的内容,正则表达式捕获所有符合的内容
全局匹配 变量.match(/正则/g) replace()
默认只替换第一个符合的内容,正则表达式替换所有符合的内容
全局匹配 变量.replace( /正则/g , 要替换写入的内容)
一.正则表达式
什么是正则表达式
对字符串内容,进行格式和内容的验证
对于正则表达式,我们不用自己去写,所有常用的正则表达式,在网上都可以搜到
我们只需要能看懂,会使用
所有的计算机语言,正则表达式,都是相同的,通用
正则表达式的基本语法
1,字面量(常用)
使用 // 来包裹表达式内容
var 变量 = /正则表达式/
2,构造函数
var 变量 = RegExt(‘正则表达式’);
正则表达式的使用方法
1,验证
判断字符串内容是否符合正则表达式的规范
执行结果是 布尔类型
语法 : 正则表达式.test(‘字符串内容’);
2,捕获
捕获获取字符串中符合正则表达式规范的内容
执行结果是捕获获取到的符合规范的字符串内容
语法 : 正则表达式.exec(‘字符串内容’)
二.正则表达式之常用语法规范
正则表达式,常用语法规范 正则表达式中,不要随便写空格,因为空格也会作为验证格式的一部分 1,元字符
使用一些符号,来表示规范 \d 表示数值,数字,只要有数字即可,不用都是数字
\D 表示非数字,只要有不是数字的就可,不用都是非数字 \w 表示数字,字母,下划线,只要有其中一个就可
\W 表示非数字,字母,下划线,只要有不是字母或数字下划线就可 \s 表示空格,只要有空格就可
\S 表示非空格 只要有不是空格的就可 . 表示非换行
字符串中的换行,使用 转义符 \n 表示 提示 正则表达式和转义符,都是 \内容的形式
JavaScript会自动识别,如果是 \内容 符合正则表达式,就按照正则表达式来执行
符合转义符,就按照转义符的形式执行
正则表达式和转义符不会冲突 // 只要有数字即可,不用都是数字
var reg1 = /\d/ ; console.log(reg1.test('123456')) ; → true
console.log(reg1.test('abcd')) ; → false
console.log(reg1.test('1234abcd')) ; → true var reg2 = /\D/; console.log(reg2.test('123456')) ; → false
console.log(reg2.test('abcd')) ; → true
console.log(reg2.test('1234abcd')) ; → true
console.log(reg2.test('!@#$%^')) ; → true var reg3 = /\w/; console.log( reg3.test('123avbc_') ); → true
console.log( reg3.test('!@#$%^') ); → false
console.log( reg3.test('1234!@#$%^') ); → true var reg4 = /\W/; console.log( reg4.test('123avbc_') ); → false
console.log( reg4.test('!@#$%^') ); → true
console.log( reg4.test('1234!@#$%^') ); → true var reg5 = /\s/;
console.log( reg5.test(' ') ); → true
console.log( reg5.test('312斤kfjisa') ); → false
console.log( reg5.test('312斤 kfjisa') ); → true var reg6 = /\S/;
console.log( reg6.test(' ') ); → false
console.log( reg6.test('312斤kfjisa') ); → true
console.log( reg6.test('312斤 kfjisa') ); → true var reg7 = /./; console.log( reg7.test('\n') ); → false
————————————————
版权声明:本文为CSDN博主「咩有猫腻.」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:JS-正则表达式(基本语法、test、exec、\d\D\w\W\s\S .)
JS-正则表达式(基本语法、test、exec、\d\D\w\W\s\S .)的更多相关文章
- JS 正则表达式基本语法(精粹)
1.正则表达式基本语法 两个特殊的符号'^'和'$'.他们的作用是分别指出一个字符串的开始和结束. 例子如下: "^The":表示所有以"The"开始的字符串( ...
- js正则表达式基本语法
正则表达式基本语法 两个特殊的符号'^'和'$'.他们的作用是分别指出一个字符串的开始和结束. 例子如下: "^The":表示所有以"The"开始的字符串(&q ...
- js正则表达式test方法、exec方法与字符串search方法区别
1.正则表达式test方法 test() 方法用于检测一个字符串是否匹配某个模式 返回值: 如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 fal ...
- js正则表达式replace里有变量的解决方法用到RegExp类
一直比较害怕使用正则表达式,貌似很深奥很复杂的样子,所以在用js操作字符串的时候,我最多使用的是replace.split.substring.indexOf等函数,这些函数有时候需要多次叠加使用,但 ...
- JS正则表达式常用总结
正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...
- JS 正则表达式用法
JS 正则表达式用法简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.其作用如下: 测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或 ...
- js 常用js正则表达式大全
一.校验数字的js正则表达式 1 数字:^[0-9]*$ 2 n位的数字:^d{n}$ 3 至少n位的数字:^d{n,}$ 4 m-n位的数字:^d{m,n}$ 5 ...
- js正则表达式语法
1. 正则表达式规则 1.1 普通字符 字母.数字.汉字.下划线.以及后边章节中没有特殊定义的标点符号,都是"普通字符".表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的 ...
- [转载]js正则表达式语法
1. 正则表达式规则 1.1 普通字符 字母.数字.汉字.下划线.以及后边章节中没有特殊定义的标点符号,都是"普通字符".表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的 ...
- js正则表达式语法[转]
1. 正则表达式规则 1.1 普通字符 字母.数字.汉字.下划线.以及后边章节中没有特殊定义的标点符号,都是"普通字符".表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的 ...
随机推荐
- 基于Jenkins + Argo 实现多集群的持续交付
作者:周靖峰,青云科技容器顾问,云原生爱好者,目前专注于 DevOps,云原生领域技术涉及 Kubernetes.KubeSphere.Argo. 前文概述 前面我们已经掌握了如何通过 Jenkins ...
- HTML字体分类
网页中的将字体分为5大类 1.serif:衬线字体 2.sans-serif:非衬线字体 3.monospace:等宽字体 4.cursive:草书字体 5.fantasy:幻虚字体 <p st ...
- 关于在有动态的Scroll Bar情况下页面内容的对齐问题
关于在有动态的Scroll Bar情况下页面内容的对齐问题 问题场景 一个标题行 + 一些内容行 要求在内容行超过指定行数时 将多出的行隐藏,并展示Scroll Bar的来提示用户可以下划查看更多内容 ...
- Git项目提交规范结合Husky + commitlint使用
一.前置条件 为了更好地 GIT 提交,加入了代码提交规范和规范校验,优雅的提交: 方便团队协作和快速定位问题,采取 Husky + commitlint 辅助项目做约定. npm install ...
- 【2024.10.03】NOIP2024 赛前集训-刷题训练(5)
[2024.10.03]NOIP2024 赛前集训-刷题训练(5) NOIP2017 提高组 小凯的疑惑 形式化题面:求最大的正整数 \(w\),满足 \(ax + by = w\) 不存在一对非负整 ...
- Xor-FWT 的另一种理解方式
Xor-FWT 的另一种理解方式 学习 \(\text{Fennec's Algorithm}\) 的额外收获,顺手记录一下. 假设我们要求两个长度为 \(n\) 的数组的异或卷积,为方便起见令 \( ...
- 去除tinymce中粘贴的样式
import "tinymce/plugins/paste"; tinymce.init({ ...其他配置, plugins: ["paste"], past ...
- Python网络爬虫实践案例:爬取猫眼电影Top100
以下是一个Python网络爬虫的实践案例,该案例将演示如何使用Python爬取猫眼电影Top100的电影名称.主演和上映时间等信息,并将这些信息保存到TXT文件中.此案例使用了requests库来发送 ...
- 内网渗透之不出网上线CobaltStrike技巧
目录 前言 smb beacon上线 tcp listener转发上线 http代理上线 tcp beacon正向连接上线 题外话 - cs和msf的权限传递 cs派生给msf msf派生给cs 前言 ...
- 高性能计算-雅可比算法-MPI重复非阻塞优化(7)
#include <stdio.h> #include <mpi.h> #include <unistd.h> #include <stdlib.h> ...