热门标签 | 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数组方法的操作;

技术分享


推荐阅读
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • PHP 过滤器详解
    本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ... [详细]
  • Ihaveastringwithquotesaroundthepathasfollows:我在路径周围有一个带引号的字符串,如下所示:C:\ProgramFiles(x ... [详细]
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • 本文探讨了在不使用服务器控件的情况下,如何通过多种方法获取并修改页面中的HTML元素值。除了常见的AJAX方式,还介绍了其他可行的技术方案。 ... [详细]
  • 深入解析JMeter中的JSON提取器及其应用
    本文详细介绍了如何在JMeter中使用JSON提取器来获取和处理API响应中的数据。特别是在需要将一个接口返回的数据作为下一个接口的输入时,JSON提取器是一个非常有用的工具。 ... [详细]
  • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
  • 解决Python中 'NoneType' 对象无属性 'find_all' 错误
    本文详细探讨了在Python编程中遇到的常见错误——'NoneType'对象没有属性'find_all',并深入分析其原因及解决方案。通过理解find_all函数的工作原理和常见用法,帮助读者避免类似问题。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • Struts与Spring框架的集成指南
    本文详细介绍了如何将Struts和Spring两个流行的Java Web开发框架进行整合,涵盖从环境配置到代码实现的具体步骤。 ... [详细]
  • 本文介绍了如何利用 Spring Boot 和 Groovy 构建一个灵活且可扩展的动态计算引擎,以满足钱包应用中类似余额宝功能的推广需求。我们将探讨不同的设计方案,并最终选择最适合的技术栈来实现这一目标。 ... [详细]
  • 基于Node.js、Express、MongoDB和Socket.io的实时聊天应用开发
    本文详细介绍了使用Node.js、Express、MongoDB和Socket.io构建的实时聊天应用程序。涵盖项目结构、技术栈选择及关键依赖项的配置。 ... [详细]
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社区 版权所有