热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:js正则表达式属性及方法的使用

篇首语:本文由编程笔记#小编为大家整理,主要介绍了js正则表达式属性及方法的使用相关的知识,希望对你有一定的参考价值。正则表达式直接量

篇首语:本文由编程笔记#小编为大家整理,主要介绍了js正则表达式属性及方法的使用相关的知识,希望对你有一定的参考价值。



正则表达式

直接量语法


/pattern/attributes


创建 RegExp 对象的语法:


new RegExp(pattern, attributes);


五大属性

技术分享

 

global:如果设置了new RegExp(‘s’,’g’),g(全局)被设置,所以global为true;

ignoreCase:同上,ignoreCase,对应的是i(大小写是否敏感);

lastIndex, var reg=/\\d/g;

           var r=reg.exec(‘a1b2c3‘);

            console.log(reg.lastIndex); //2

            r=reg.exec(‘a1b2c3‘);

            console.log(reg.lastIndex); //4

multiline:同上上:multiline对应m(多行匹配)

Source:var str = "Visit W3School.com.cn";

var patt1 = new RegExp("W3S","g");

document.write("The regular expression is: " + patt1.source);// W3S

 


方法

Var reg = /\\d/g;//正则表达式

Var str = ‘1c2v3r’;//你需要匹配的内容


RegExp 对象方法

RegExp对象方法就是  reg.fun(str)

 技术分享

 

 

Complie, 创建正则对象有两种方法:字面量和构造函数。compile基本等同于构造方法方式,且已被废弃。

Exec ,var result = reg.exec(str);它将返回一个数组

技术分享

 

注释:只能执行一次,返回的数组就是当前的匹配内容的信息

0,表示需要匹配的内容,index表示匹配的位置,input匹配的内容 ;

 

如果你想把全部的匹配出来:

 技术分享 

Result:

 技术分享

Test: 返回值为true或者false

reg.test(str);

 技术分享


String对象方法

Var reg = /\\d/;//正则表达式

Var str = ‘1c2v3r’;//你需要匹配的内容

String对象方法  str.fun(reg);与regExp对象方法相反

 技术分享

Search,search() 方法不执行全局匹配,它将忽略标志 g。它同时忽略 regexp 的 lastIndex 属性,并且总是从字符串的开始进行检索,这意味着它总是返回 stringObject 的第一个匹配的位置;它对i是支持的

它的返回值是检索的位置,若没有返回-1

Str.search(reg);//0;

Match, 返回数组,该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置,而是检索出来的内容数组形式展现

 技术分享

Result:

技术分享

注释:(多个结果的返回,要加g,否知只返回第一个内容,若没有匹配结果则返回null)

注意:对多个数字的匹配

 技术分享

若只是单个

 技术分享

 

 

Replace,一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

Replace(reg/str, 替换的内容)

 技术分享

如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。

 

如果replace方法的第一个参数传入的是带分组的正则表达式,我们在第二个参数中可以使

用以下来获取相应的分组内容

 技术分享

 

技术分享

Result:@#1#@@#2#@@#3#@;


strObj.replace(regObj,function(){})

replace的fun方法

把replace方法的第二个参数传入一个function,这个function会在每次匹配替换的时候调用,算是个每次替换的回调函数,我们使用了回调函数的第一个参数,也就是匹配内容,其实回调函数一共有四个参数

第一个参数很简单,是匹配字符串

第二个参数是正则表达式分组内容,没有分组则没有该参数

第三个参数是匹配项在字符串中的index

第四个参数则是原字符串

技术分享

自己尝试一下输出结果

Split, 用于把一个字符串分割成字符串数组,返回数组

Str.split(reg/需要分割的标识,取返回数组的长度);其方法类似js数组方法的操作;

技术分享


推荐阅读
  • 本打算教一步步实现koa-router,因为要解释的太多了,所以先简化成mini版本,从实现部分功能到阅读源码,希望能让你好理解一些。希望你之前有读过koa源码,没有的话,给你链接 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 问题场景用Java进行web开发过程当中,当遇到很多很多个字段的实体时,最苦恼的莫过于编辑字段的查看和修改界面,发现2个页面存在很多重复信息,能不能写一遍?有没有轮子用都不如自己造。解决方式笔者根据自 ... [详细]
  • Python正则表达式(Python RegEx)
    Python正则表达式快速参考常用函数:re.match():从字符串的起始位置匹配一个正则表达式。re.search():扫描整个字符串并返回第一个成功的匹配。re.s ... [详细]
  • 管理UINavigationController中的手势返回 - Managing Swipe Back Gestures in UINavigationController
    本文介绍了如何在一个简单的闪存卡片应用中实现平滑的手势返回功能,以增强用户体验。 ... [详细]
  • 本文探讨了如何在游戏启动画面中移除广告,特别是在游戏数据加载期间(大约5-6秒)广告会短暂显示的问题。通过调整XML布局和代码逻辑,可以实现广告的延迟加载或完全移除。 ... [详细]
  • 现在越来越多的人使用IntelliJIDEA,你是否想要一个好看的IDEA主题呢?本篇博客教你如何设置一个美美哒IDEA主题,你也可以根据 ... [详细]
  • Java中字符串截取方法详解
    本文详细介绍了Java中常用的字符串截取方法及其应用场景,帮助开发者更好地理解和使用这些方法。 ... [详细]
  • 本文深入探讨了Go语言中的接口型函数,通过实例分析其灵活性和强大功能,帮助开发者更好地理解和运用这一特性。 ... [详细]
  • Go从入门到精通系列视频之go编程语言密码学哈希算法(二) ... [详细]
  • Logging all MySQL queries into the Slow Log
    MySQLoptionallylogsslowqueriesintotheSlowQueryLog–orjustSlowLog,asfriendscallit.However,Thereareseveralreasonstologallqueries.Thislistisnotexhaustive:Belowyoucanfindthevariablestochange,astheyshouldbewritteninth ... [详细]
  • JavaScript 函数详解
    本文详细介绍了 JavaScript 中函数的基本概念和高级用法,包括函数的声明、参数传递、返回值、函数提升、函数表达式、IIFE 即时调用函数表达式以及函数作用域等内容。 ... [详细]
  • 在Java开发中,保护代码安全是一个重要的课题。由于Java字节码容易被反编译,因此使用代码混淆工具如ProGuard变得尤为重要。本文将详细介绍如何使用ProGuard进行代码混淆,以及其基本原理和常见问题。 ... [详细]
  • 本文详细记录了 MIT 6.824 课程中 MapReduce 实验的开发过程,包括环境搭建、实验步骤和具体实现方法。 ... [详细]
  • Ray在数学课上了解到,任何小数都可以表示成分数的形式。他在尝试将普通小数转换为分数的过程中,进一步思考了如何将循环小数也转换为最简分数。本文将介绍一种算法,不仅能够处理普通小数,还能处理循环小数。 ... [详细]
author-avatar
zavier
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有