JavaScript中的正则表达式详解

时间:2022-09-02 14:28:58

摘要:javascript中的正则表达式作为相当重要的知识,本文将介绍正则表达式的相关知识和用法。

正则表达式(Regular Expression)是一门简单语言的语法规范,是强大、便捷、高效的文本处理工具,它应用在一些方法中,对字符串中的信息实现查找、替换和提取操作。

正则表达式在人们的印象中可能是一堆无法理解的字符,但就是这些符号却实现了字符串的高效操作。javascript中的正则表达式作为相当重要的知识,本文将介绍正则表达式的相关知识和用法。

正则表达式的概念:

官方:正则表达式(regular expression)是一个描述字符模式的对象。 ECMAScript 的

RegExp类表示正则表达式,而String和正则表达式都定义了进行强大的【模式匹配】

和【文本检索】与【替换】的函数。

本人理解:功能和字符串类似,但是比字符串强大,更像是服务字符串的,例如表单验证

创建正则表达式:

1.通过new关键字声明

var reg=new RegExp("hello","ig")

【注】 第一个参数为正则表达式的主体,是字符串型,第二个参数为修饰符 i 和 g

i的作用是忽略大小写,g的作用是全局匹配,在书写的时候,它们两个前后顺序没有区别。

2.省略new关键字声明

var reg=new RegExp("hello","ig");

3.通过正则表达式的声明规则直接赋值

var reg=/hello/ig;

正则表达式的方法:

正则表达式对象只有两个方法

text方法: 正则表达式.text(字符串) 在字符串中匹配这个正则表达式是否存在

如果匹配成功返回true,匹配失败返回false。

exec方法:正则表达式.exec(字符串) 在字符串中匹配这个正则表达式是否存在,

匹配成功,返回一个装有字符串的数组,匹配失败返回null

正则表达式的更多功能体现在元字符

元字符的概念:在正则表达式中有特殊含义的字符

JavaScript中的正则表达式详解

【注】 . 匹配单个的任意字符; []匹配单个在范围内的字符;[^] 匹配单个不在范围内的字符。

JavaScript中的正则表达式详解

【注】x{n} 必须匹配n个x

JavaScript中的正则表达式详解JavaScript中的正则表达式详解

【注】只需要了解前两个,

^ 行首匹配 必须以这个正则开头

$ 行尾匹配 必须以这个正则结尾

以上常见的元字符,我从别的地方获取的表格资源,但是最重要的还是练习!!

下面让我们一起简单练习几个常见的吧!

var str="google"; var reg=/google/; reg.text(str); //true

用 . 的 形式

var str="goggle"; var reg=/go.gle/; reg.text(str);//true .对应的单个字符为任意

用[] 的形式

var str="go2gle"; var reg=/go[0-9]gle/; reg.text(str);//true []对应的字符必须符合[]中的范围,否则为false

用x? 的形式

var str="gogle"; var str1="google"; var reg=/goo?gle/; reg.text(str);//true reg.text(str1);//true 0? 代表可以有0个O或者1个O,

用 x+ 的形式

var str="google"; var str1="googe";ar reg=/googl+e/; reg.text(str);//true reg.text(str1);//false l+ 代表至少存在一个l

用 ^ 的形式

var str="I am Li"; var str1="you are Li"; ar reg=/^you/; reg.text(str);//false reg.text(str1)//true 字符串必须以you开头

精力有限,希望大家下去后,把所以元字符练习一遍,加深印象。

前面说到正则表达式是方便字符串的,那么我们今天在这里也简单罗列一下字符串中用到正则表达式的方法

在字符串中使用正则表达式的方法:

match() : 字符串.match(正则表达式) 在字符串中匹配,是否有符合正则表达式,

匹配成功,返回一个装有子串的数组,匹配失败,返回null

replace() : 字符串.replace(oldStr,newStr) 用newStr将oldStr替换,返回替换成功的新字符串

【注】乍一看和正则没有关系,但是oldStr可以用正则表达式的形式。

split() : 字符串.split(分隔符) 用分隔符将原字符串进行分割,返回剩下的子串组成的数组。

【注】分隔符一般为字符串,也可以为正则表达式。

search(): 字符串.search(子串) 找到复合条件的子串第一次出现的位置,如果找到,返回第一次出现子串的位置,并且为子串的首元素位置,否则返回-1。

以上所述是小编给大家介绍的Javascript中正则表达式的使用及基本语法,希望对大家有所帮助。

点击关注,第一时间了解华为云新鲜技术~

JavaScript中的正则表达式详解的更多相关文章

  1. (转)javascript中event对象详解

    原文:http://jiajiale.iteye.com/blog/195906 javascript中event对象详解          博客分类: javaScript JavaScriptCS ...

  2. 【JavaScript中的this详解】

    前言 this用法说难不难,有时候函数调用时,往往会搞不清楚this指向谁?那么,关于this的用法,你知道多少呢? 下面我来给大家整理一下关于this的详细分析,希望对大家有所帮助! this指向的 ...

  3. JavaScript中的this详解

    前言 this用法说难不难,有时候函数调用时,往往会搞不清楚this指向谁?那么,关于this的用法,你知道多少呢? 下面我来给大家整理一下关于this的详细分析,希望对大家有所帮助! this指向的 ...

  4. Javascript中prototype属性详解 (存)

    Javascript中prototype属性详解   在典型的面向对象的语言中,如java,都存在类(class)的概念,类就是对象的模板,对象就是类的实例.但是在Javascript语言体系中,是不 ...

  5. Javascript学习之正则表达式详解

       什么是正则表达式(regular expreSSion) 正则表达式是一个描述字符模式的对象. 可以处理更复杂的字符串 JavaScript中的正则表达式使用RegExp对象表示 正则表达式用于 ...

  6. JavaScript 中 this 的详解

    this 的指向 this 是 js 中定义的关键字,它自动定义于每一个函数域内,但是它的指向却让人很迷惑.在实际应用中,this 的指向大致可以分为以下四种情况. 原文作者:林鑫,作者博客:http ...

  7. JavaScript中的arguments详解

    1. arguments arguments不是真正的数组,它是一个实参对象,每个实参对象都包含以数字为索引的一组元素以及length属性. (function () { console.log(ar ...

  8. javascript中的操作符详解1

    好久没有写点什么了,根据博主的技术,仍然写一点javascript新手入门文章,接下来我们一起来探讨javascript的操作符. 一.前言 javascript中有许多操作符,但是许多初学者并不理解 ...

  9. Javascript中prototype属性详解

    在典型的面向对象的语言中,如java,都存在类(class)的概念,类就是对象的模板,对象就是类的实例.但是在Javascript语言体系中,是不存在类(Class)的概念的,javascript中不 ...

随机推荐

  1. 一个技术汪的开源梦 —— 基于 .Net Core 的公共组件之目录结构

    一个技术汪的开源梦 —— 目录 这篇文章是开源公共组件的开篇那就先说说项目的 Github 目录结构和 .Net Core 的项目结构. 1. GitHub 目录结构和相关文件 - src 源码项目目 ...

  2. Java的生日

    你知道巴西的税务系统,亚马逊的Kindle阅读器以及韩国的第一大镁板制造厂有什么共同点吗?乍一看上去,这简直就是风马牛不相及,但是这些系统同世界上其它100亿个设备共享一个元素,那就是Java. 19 ...

  3. F12调试打开时,出现很多多余内容问题解决

    关闭vs2013的browserlink功能即可: <appSettings> <add key="vs:EnableBrowserLink" value=&qu ...

  4. Oracle中replace函数的使用

    例: select filefullname from sys_frmattachmentdb 查询的结果为: e:\GengBaoFile\TYGW\<历城区项目立项审批流程>.1079 ...

  5. uva 1344

    这本来是暑假集训做过的一个题 现在做来 就三种情况 1.田忌最快的比齐王最快的快 就用最快的比最快的 2.田忌最慢的比齐王最慢的快 就用最慢的比最慢的 3.上两种情况都不符合 用田忌最慢的去比齐王最快 ...

  6. js 字符串扩展

    <script type="text/javascript" language="javascript"> String.prototype.tri ...

  7. VMware上实现LVS负载均衡&lpar;NAT&rpar;

    本文LVS的实现方式採用NAT模式.关于NAT的拓扑图请參照我的上一篇文章.本文纯粹实验.NAT在生产环境中不推荐使用.原因是Load Balancereasy成为瓶颈! 1.VMware9上安装Ce ...

  8. python标准库基础之mmap:内存映射文件

    #作用:建立内存映射文件而不是直接读取内容文本信息内容:如下(名称是text.txt) Lorem ipsum dolor sit amet, consectetuer adipiscing elit ...

  9. TypeScript入门教程

    TypeScript是什么 TypeScript是JavaScript的一个超集 TypeScript需要编译为JavaScript才能运行(语法糖) TypeScript提供了类型系统,规范类似Ja ...

  10. java按照关键字指定的key删除redis&lpar;支持模糊删除&rpar;

    pom依赖: <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</a ...