8-10 WPS JSA 正则表达式:贪婪匹配

8-10 WPS JSA 正则表达式:贪婪匹配

一、 贪婪匹配

贪婪匹配就是尽可能多地匹配,同时也允许正则表达式剩余的部分继续匹配,同一字符段末尾匹配不符合要求,就不匹配。

{n,m}:匹配前项至少n次,但不超过m次

{n,}:匹配前项n或更多次

{n}:匹配前项恰好n次

?:匹配前项零或一次,等价于{0,1)

+:匹配前项一或多次,等价于{1,},就是连续的

*:匹配前项零或多次,等价于{0,}

二、基础测试

function test(){

var s="姓名:赵多多,年龄:35,工号:BH035,手机:17773050505,工龄:15";

var s1="Closs:5-6-6,寝室:5549"

var a1=s.match(/\d{3,4}/g);//{n,m}:匹配前项至少n次,但不超过m次

//局部变量:a1=["035","1777","3050","505"],类型:Array/object

var a2=s.match(/\d{3,}/g);//{n,}:匹配前项n或更多次

//局部变量:a2=["035","17773050505"],类型:Array/object

var a3=s.match(/\d{3}/g);//{n}:匹配前项恰好n次

//局部变量:a3=["035","177","730","505"],类型:Array/object

var a4=s.match(/\d+/g);//+:匹配前项一或多次,等价于{1,},就是连续的

//局部变量:a4=["35","035","17773050505","15"],类型:Array/object

var a5=s1.match(/(\d-?)+/g);//?:匹配前项零或一次,等价于{0,1)

//局部变量:a5=["5-6-6","5549"],类型:Array/object

var a6=s1.match(/(\d-?)*/g);//*:匹配前项零或多次,等价于{0,}

//局部变量:a6=["","","","","","","5-6-6","","","","","5549",""],类型:Array/object

}

javascript 复制代码
function test(){
var s="姓名:赵多多,年龄:35,工号:BH035,手机:17773050505,工龄:15";
var s1="Closs:5-6-6,寝室:5549"
var a1=s.match(/\d{3,4}/g);//{n,m}:匹配前项至少n次,但不超过m次
//局部变量:a1=["035","1777","3050","505"],类型:Array/object

var a2=s.match(/\d{3,}/g);//{n,}:匹配前项n或更多次
//局部变量:a2=["035","17773050505"],类型:Array/object

var a3=s.match(/\d{3}/g);//{n}:匹配前项恰好n次
//局部变量:a3=["035","177","730","505"],类型:Array/object

var a4=s.match(/\d+/g);//+:匹配前项一或多次,等价于{1,},就是连续的
//局部变量:a4=["35","035","17773050505","15"],类型:Array/object

var a5=s1.match(/(\d-?)+/g);//?:匹配前项零或一次,等价于{0,1)
//局部变量:a5=["5-6-6","5549"],类型:Array/object

var a6=s1.match(/(\d-?)*/g);//*:匹配前项零或多次,等价于{0,}
//局部变量:a6=["","","","","","","5-6-6","","","","","5549",""],类型:Array/object
}
相关推荐
萑澈4 小时前
Windows 7 运行 Electron 安装包报“不是有效的 Win32 应用程序”怎么办
javascript·windows·electron
bloglin999994 小时前
scp、rsync远程文件同步
linux·运维·服务器
迦南的迦 亚索的索4 小时前
LINUX环境
linux·运维·服务器
yuanjj884 小时前
linux下调试域格CLM920 NC5等9x07平台模块 QMI拨号
linux·运维·服务器
W.A委员会4 小时前
JS原型链详解
开发语言·javascript·原型模式
懂懂tty5 小时前
React状态更新流程
前端·react.js
IMPYLH5 小时前
Linux 的 printenv 命令
linux·运维·服务器·bash
SilentSamsara5 小时前
SSH 远程管理:密钥登录 + 隧道转发,一次性配置好
linux·运维·服务器·ubuntu·centos·ssh
小码哥_常5 小时前
告别繁琐!手把手教你封装超实用Android原生Adapter基类
前端
她说彩礼65万5 小时前
C# 实现简单的日志打印
开发语言·javascript·c#