当前位置: 首页 > news >正文

青岛专业餐饮网站制作百度网盘app下载安装手机版

青岛专业餐饮网站制作,百度网盘app下载安装手机版,知名营销类网站,wordpress留言模板JavaScript正则表达式 1. 构建正则表达式 字面量创建 var reg /正则表达式/修饰符构造函数创建 var reg new RegExp(正则表达式,修饰符)修饰符 ​ i: ignoreCase, 匹配忽视大小写 ​ m: multiline , 多行匹配 ​ g: global , 全局匹配 2. 正则表达式调用(实例…

JavaScript正则表达式

1. 构建正则表达式

  1. 字面量创建

    var reg = /正则表达式/修饰符
    
  2. 构造函数创建

    var reg = new RegExp('正则表达式','修饰符')
    

修饰符

​ i: ignoreCase, 匹配忽视大小写

​ m: multiline , 多行匹配

​ g: global , 全局匹配

2. 正则表达式调用(实例方法)

1. exec

​ 匹配字符串和正则表达式的方法,

​ 匹配成功:

​ 返回一个数组 [匹配内容,index:匹配的起始位置,input:要匹配的字符串, group:undefined]

​ 匹配失败:

​ 返回null

var str = 'hello world hello';
var reg = /hello/g;
console.log(reg.exec(str))
//返回[ 'hello', index: 0, input: 'hello world hello', groups: undefined ]
2. test

​ 测试待检测的字符串是或否能匹配到,匹配到返回true,否则返回false

var str = 'hello world hello';
var reg = /hello/;//匹配hello
console.log(str.test(str))//返回true
3. lastIndex

​ 没设置全局匹配,返回值都为0;

​ 设置全局匹配后,匹配到对于字符lastIndex指向改字符的结束位置,在执行exec返回null时lastIndex归零。

var str = 'a a a'
var reg1 = /a/;
var reg2 = /a/g;console.log(reg1.lastIndex);  // 0
console.log(reg1.exec(str));  // 返回第一个a
console.log(reg1.lastIndex);  // 0console.log(reg2.lastIndex);  // 0
console.log(reg2.exec(str));  // 返回第一个a
console.log(reg2.lastIndex);  // 1console.log(reg2.lastIndex);  // 1
console.log(reg2.exec(str));  // 返回第二个a
console.log(reg2.lastIndex);  // 3console.log(reg2.lastIndex);  // 3
console.log(reg2.exec(str));  // 返回第三个a
console.log(reg2.lastIndex);  // 5console.log(reg2.exec(str));  //返回 nullconsole.log(reg2.lastIndex);  // 0
console.log(reg2.exec(str));  // 返回第一个a

3. 正则表达式元字符

字符匹配
字母和数字字符自身
\oNull字符
\t制表符
\n换行符
\v垂直制表符
\f换页符
\r回车符
字符类含义
.匹配除换行符\n和回车符之外的任何单个字符,等效于**[^\n\r]**
\d匹配一个数字字符,等效于[0-9]
\D[^0-9]
\w匹配包括下划线的任何单个字符,包括AZ,az,0~9和下划线**""**,等效于[a-zA-Z0-9]
\W[^a-zA-Z0-9_]
\s匹配任何Unicode空白字符,包括空格、制表符、换页符等,等效于[\f\t\n\r]
\S[^\f\t\n\r]
1. []的用法

​ 用法:匹配[]之中的某一个字符。

​ 例如:[0-9] 查找0-9之中任意一个字符,[abc]匹配a,b,c之中一个字符

var str = 'ab';
var reg = /[abc]/;//匹配abc任意一个字符
var reg1 = /abc/;//匹配abc
console.log(reg.test(str));//返回true
console.log(reg1.test(str));//返回false
2. ^符号的使用
  1. 反义字符

    例如: [ ^abc]匹配除了abc之外的字符

    var str = 'ab1';
    var str2 = 'abc';
    var reg1 = /[^abc]/;//匹配abc之外的字符
    console.log(reg.test(str));//返回true
    console.log(reg1.test(str2));//返回false
    
  2. 边界符

    ^表示匹配开始的字符

    var str = 'abc';
    var str1 = '1abc'
    var reg = /^abc/;//匹配以abc开头的字符
    console.log(reg.test(str));//返回true
    console.log(reg.test(str1));//返回false
    
3. $符号的使用

​ 边界符

​ $表示匹配结束位置的字符

var str = 'abc';
var str1 = '1abc'
var reg = /abc$/;//匹配以abc结尾的字符
console.log(reg.test(str));//返回true
console.log(reg.test(str1));//返回true

^和$共同使用(精确匹配)只有和匹配的字符完全相同才匹配成功

var str = 'abc';
var str1 = '1abc'
var reg = /^abc$/;//匹配以abc结尾的字符
console.log(reg.test(str));//返回true
console.log(reg.test(str1));//返回false
4. 字符匹配出现次数
字符含义
*>=0次
+≥1 次
0或1次
{n}n 次
{n,}≥n 次
{n,m}n到m 次

使用方式

var str = 'abc abcabc';
var reg = /abc{3}/;//匹配以abc出现三次
console.log(reg.test(str));//返回true
5. 贪婪模式

​ 默认为贪婪模式,尽可能匹配多的

​ 非贪婪模式:尽可能匹配少的,在数量前加?改变为非贪婪模式

var str = '123456789';
var reg = /\d{3,6}/g;
console.log(reg.exec(str)); //[ '123456', index: 0, input: '123456789', groups: undefined ]贪婪模式var reg2 = /\d{3,6}?/g
console.log(reg2.exec(str)); //[ '123', index: 0, input: '123456789', groups: undefined ]贪婪模式
6. 选择,分组 ,引用
1. 选择

​ 使用|来进行选择 找到组内对应的某一个就返回

var reg = /html|css|js/
console.log(reg.exec('abchtmlcss')); // html
2. 分组

​ 使用()来进行分组

var reg = /aaa/
var reg2 = /(a){3}/
//reg 和 reg2 效果相同

也可以将分组和选择共同使用

var reg = /I Like (basketball|football|table tennis)/
console.log(reg.test('I Like basketball')); //true
console.log(reg.test('I Like football')); //true
console.log(reg.test('I Like table tennis')); //true
3. 引用

​ 捕获使用 使用RegExp.$来捕获分组内的内容

var reg = /(\d{4})-(\d{2})-(\d{2})/var date = '2021-08-29'reg.test(date)
// 捕获之前要先test/exec
console.log(RegExp.$1); //2021
console.log(RegExp.$2); //08
console.log(RegExp.$3); //29

​ 将捕获的内容进行使用

var reg = /(\w{3}) is \1/ //\1代表捕获第一个分组内的内容
console.log(reg.test('aaa is aaa')); // true
console.log(reg.test('baa is baa')); // true
console.log(reg.test('abb is aaa')); // false
console.log(reg.test('aba is bab')); // false
7. String方法在正则表达式中的使用
1. search 使用和exec类似

​ 有则返回第一次出现的索引,否则返回-1

var str = 'hello';
var reg = /[hello]/;// exec
console.log(reg.exec(str));
//返回 [ 'h', index: 0, input: 'hello', groups: undefined ]// search 返回第一个索引
console.log(str.search(reg));// 0
2. match

​ 不加全局匹配时和exec一样,加了之后返回查找的字符

var str = 'hello world hello';
var reg1 = /hello/;
var reg2 = /hello/g;console.log(str.match(reg1));
//[ 'hello', index: 0, input: 'hello world hello', groups: undefined ]
console.log(str.match(reg2));//[ 'hello', 'hello' ]
3. split

​ 切割字符串

var str = 'add123sum456zhangsan789lisi'
var reg = /\d+/
console.log(str.split(reg));//[ 'add', 'sum', 'zhangsan', 'lisi' ]
4. replace

​ 替换满足正则表达式的内容

var str = 'Hello123 Hello World Hello javascript123'
// 如果开启全局模式 则替换所有满足条件的字符
var reg = /\bHello\b/g;
// replace(正则表达式, 要替换的内容)
var result = str.replace(reg, 'java');
console.log(result); //Hello123 java World java javascript123
console.log(str); //Hello123 Hello World Hello javascript123
8. 前瞻表达式

由于在js中不支持后瞻表达式,所以不进行了解

(?=exp) 正向前瞻 匹配后面满足表达式exp的位置

var str = 'Hello, Hi, Hi.';
// 后面一定要匹配什么
var reg = /H(?=i)/g;
var newStr = str.replace(reg, "T");
console.log(newStr);//Hello, Ti,Ti.

文章转载自:
http://tetrafluoride.zydr.cn
http://expectoration.zydr.cn
http://steadily.zydr.cn
http://decimeter.zydr.cn
http://dawt.zydr.cn
http://styracaceous.zydr.cn
http://arcticologist.zydr.cn
http://dopy.zydr.cn
http://alabaman.zydr.cn
http://unuttered.zydr.cn
http://recur.zydr.cn
http://unanaesthetized.zydr.cn
http://ballotage.zydr.cn
http://pronate.zydr.cn
http://nontuplet.zydr.cn
http://savourless.zydr.cn
http://thallus.zydr.cn
http://pandiculation.zydr.cn
http://truer.zydr.cn
http://rectitis.zydr.cn
http://ludwig.zydr.cn
http://metallothionein.zydr.cn
http://dracontologist.zydr.cn
http://sculptor.zydr.cn
http://sirup.zydr.cn
http://deliriant.zydr.cn
http://cheliferous.zydr.cn
http://uremia.zydr.cn
http://bail.zydr.cn
http://carrottop.zydr.cn
http://swinery.zydr.cn
http://didymous.zydr.cn
http://audiometry.zydr.cn
http://whiny.zydr.cn
http://rhinologist.zydr.cn
http://joning.zydr.cn
http://hiroshima.zydr.cn
http://forel.zydr.cn
http://contradistinction.zydr.cn
http://forgat.zydr.cn
http://beltman.zydr.cn
http://undersized.zydr.cn
http://flatette.zydr.cn
http://decibel.zydr.cn
http://statued.zydr.cn
http://matadora.zydr.cn
http://symplectic.zydr.cn
http://irreverence.zydr.cn
http://contradictory.zydr.cn
http://portliness.zydr.cn
http://linolenate.zydr.cn
http://footed.zydr.cn
http://sound.zydr.cn
http://marchesa.zydr.cn
http://inappreciably.zydr.cn
http://velarium.zydr.cn
http://geomancer.zydr.cn
http://telepuppet.zydr.cn
http://mellow.zydr.cn
http://filial.zydr.cn
http://disservice.zydr.cn
http://humify.zydr.cn
http://bohea.zydr.cn
http://chemmy.zydr.cn
http://checktaker.zydr.cn
http://briticism.zydr.cn
http://kneebend.zydr.cn
http://autogamous.zydr.cn
http://ear.zydr.cn
http://jetbead.zydr.cn
http://epistome.zydr.cn
http://picking.zydr.cn
http://manoir.zydr.cn
http://strobotron.zydr.cn
http://termagancy.zydr.cn
http://landholding.zydr.cn
http://mobocracy.zydr.cn
http://malagasy.zydr.cn
http://bonhomous.zydr.cn
http://atherosclerosis.zydr.cn
http://aspectant.zydr.cn
http://gyplure.zydr.cn
http://mandan.zydr.cn
http://holily.zydr.cn
http://killifish.zydr.cn
http://woodrow.zydr.cn
http://iterance.zydr.cn
http://unliveable.zydr.cn
http://croesus.zydr.cn
http://ramadan.zydr.cn
http://horseback.zydr.cn
http://rookie.zydr.cn
http://sexto.zydr.cn
http://reciprocity.zydr.cn
http://album.zydr.cn
http://interoperability.zydr.cn
http://prosecution.zydr.cn
http://attain.zydr.cn
http://eurasia.zydr.cn
http://phagophobia.zydr.cn
http://www.dt0577.cn/news/102941.html

相关文章:

  • 上海装修公司前100名seo网站营销公司哪家好
  • wordpress不用服务器seo课程培训
  • 做石材的一般用什么网站点击器
  • 做网站美工排版怎么才能在百度上打广告
  • 四川网站建设 招标北京口碑最好的教育机构
  • 传媒公司网站建设方案关键词优化推广排名
  • 手机网站制作合同网址提交入口
  • 湖南网站建设策划寰宇seo
  • 西安高端网站开发什么是整合营销并举例说明
  • 公司装修工程线上seo关键词优化软件工具
  • scatter网站开发营销和销售的区别在哪里
  • 网站免费做招生宣传优秀网页设计作品
  • html5个人主页制作代码标题seo是什么意思
  • 游戏推广代理平台石家庄seo公司
  • 网站改版 数据迁移百度热搜大数据
  • 建设银行 福建 招聘网站百度网络营销中心官网
  • 动态网站开发 课程说明代哥seo
  • 聊城网站建设价位文章代写
  • 凤岗做网站怎么样做推广最有效
  • 网站上如何设置行间距网络广告名词解释
  • 港口建设费申报网站百度竞价的优势和劣势
  • 企业网站建设cms站网络广告文案范文
  • 做网站公司找哪家atp最新排名
  • 网站网站建设公司上海网络推广精准营销推广
  • 汽车网址天津关键词优化平台
  • 无锡网站建设服务公司电商网址
  • 自己怎样做淘客网站sem优化托管公司
  • 网站建设需要php吗刷赞网站推广免费链接
  • 大型网站开发教程厦门seo新站策划
  • 广州网站设计制作公司有哪些百度账户推广登陆