当前位置:
首页 > temp > JavaScript教程 >
-
JavaScript连载25-正则表达式的匹配分割替换以及贪婪模式
一、test方法
var dateStr = '2020-01-01'; var dateReg = /^\d{4}-\d{2}-\d{2}$/; console.log(dateReg.test(dateStr));//test方法用于验证是否是满足正则表达式格式
运行结果:
二、提取正则表达式
1. 正则对象.exec(要匹配的内容)
var qqStr = "小明:15778945869,小虎:15678645678,小红:13848956123"; var reg = /\d+/g; do{ var content = reg.exec(qqStr);//返回了一个数组,索引第一个值就是匹配的内容 if(content){ console.log(content[0]); } }while(content) //可以看出来content即使是在大括号的外面也依然可以使用
运行结果:
2. 要匹配的内容.match(正则对象)
var qqStr = "小明:15778945869,小虎:15678645678,小红:13848956123"; var reg = /\d+/g; var qqArr = qqStr.match(reg); console.log(qqArr);//返回一个匹配所有结果的列表
运行结果:
3.分组匹配的结果
- 使用RegExp.$数字来进行提取分组表达式
var dateStr = '2020-01-01'; dateReg2 = /^(\d{4})-(\d{2})-(\d{2})$/; if(dateReg2.test(dateStr)){ console.log(RegExp.$1); console.log(RegExp.$2); console.log(RegExp.$3); }
显示结果:
4.替换
- 要匹配的对象.replace(正则对象,新字符)
var str2 = ' it like iy d ewd dew dd '; console.log(str2.trim());//去除首尾空格 //但是我们想要取代所有的空格,那就要用正则表达式了 str3 = str2.replace(/\s/g,'*');//加上g就是非贪婪 str4 = str2.replace(/\s/,"*"); str5 = str2.replace(/\s*$/,"*"); console.log(str3); console.log(str4); console.log(str5);
显示结果:
5.分隔
var dateStr3 = "2020-11-12"; console.log(dateStr3.split("-"));//返回一个分割的列表
显示结果:
6.贪婪与非贪婪
- 使用?即可实现
var str6 = "aaaaaaaaabbbbbbbbbbbbbaaaaaaaaaaaa"; var res = str6.match(/a.*b/);//默认是贪婪模式 var res2 = str6.match(/a.*?b/) console.log(res); console.log(res2);
显示结果:
二、源码:
-
- D25_MethodOfMatch.html
-
地址:
https://github.com/ruigege66/JavaScript/blob/master/D25_MethodOfMatch.html
-
博客园:
https://www.cnblogs.com/ruigege0000/
-
CSDN:
https://blog.csdn.net/weixin_44630050?t=1
- 出处:https://www.cnblogs.com/ruigege0000/p/13334149.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数