一、正则表达式

正则表达式Regular Expression,可以简写为regexp、regex或是RE

正则表达式使用单个字符串来描述或是匹配一系列符合某个句法规则的字符串模型。

按照某种规则去匹配符合条件的字符串。

什么是正则表达式?

正则表达式是由一个字符序列形成的搜索模式(可以用搜索模式来描述想要查询的内容)。

正则表达式可以是一个简单的字符,或是更复杂的模式

正则表达式可以用于所有文本搜索和替换操作

通过一个例子来感受以下正则表达式:

.find./-name *.text;
//在当前目录下查找所有 .txt文件(*表示任意字符)

二、正则表达式的语法结构

(一)语法格式:

/ 正则表达式 / 控制符(或叫修饰符)

其中控制符是可选的。

var patt = /Byronper/g

实例解析:

  • /Byronper/g  是一个正则表达式。
  • Byronper  是一个正则表达式主体 (用于检索)。
  • g  是一个控制符 (搜索不区分大小写)。

(二)JavaScript通过内置对象RegExp支持正则表达式

又两种方法可以实例化RegExp对象

  • 字面量
  • 构造函数

如何理解实例化?

人是一个类,小明(一个具体的·人)是类的实体。所谓实例化就是:小明从孕育到出生这样一个过程。

var reg=new RegExp( );这也是实例化,创建了名为reg的对象。

面向对象的编程中,用类创建对象的过程即为实例化。

实例:

1、使用字面量

replace替换;replace(reg,"IS");搜索字符串中的is,将其替换为“IS”;

g表示全局(控制符);\b表示单词界限

2、使用构造函数

"\\bis\\b"正则表达式的文本。使用两个\,因为JS中\本来就是特殊字符,如果想使用就需要转义符 \ 转义;

new控制符调用构造函数;

不使用"g"时,IS只替换检索到的第一个字符,第二个第三个都不替换。使用用"g"时,所有对应的字符都替换了;

 三、修饰符(控制符)

  • g:global   全文搜索。如果不添加,就搜索到第一个即匹配停止;
  • i:ignore case   忽略大小写。默认大小写敏感,大小写不同;
  • m:multiple lines   多行搜索;

实例:

i用法,忽略大小写

使用了i 控制符后,无论是大写还是小写都替换为G。

四、元字符

正则表达式是由两种基本数字类型组成:

  • 原义文本字符(类似abcd这样的普通字符)
  • 元字符

元字符,又叫字符集,就是用一些特殊符号(非字母字符)表示特定种类的字符或位置。

常用的元字符

五、正则表达式的目的

给定一个正则表达式和另一个字符串,我们可以达到如下的目的:

  • 1. 给定的字符串是否符合正则表达式的过滤逻辑(称作"匹配"):
  • 2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。

JavaScript正则表达式简介(一)的更多相关文章

  1. javascript正则表达式简介

      javascript正则表达式 javascript正则表达式 regular expression是一个描述字符模式的对象: ECMAScript中的RegExp类表示正则表达式: String ...

  2. JavaScript正则表达式详解(一)正则表达式入门

    JavaScript正则表达式是很多JavaScript开发人员比较头疼的事情,也很多人不愿意学习,只是必要的时候上网查一下就可以啦~本文中详细的把JavaScript正则表达式的用法进行了列表,希望 ...

  3. JavaScript正则表达式详解(二)JavaScript中正则表达式函数详解

    二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 ...

  4. javascript正则表达式语法

    1. 正则表达式规则 1.1 普通字符 字母.数字.汉字.下划线.以及后边章节中没有特殊定义的标点符号,都是"普通字符".表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的 ...

  5. javascript 正则表达式 详细入门教程

    1.什么是正则表达式 定义: 一个用来搜索.匹配.处理一些符合特定语法规则的一个强大的字符串处理工具. 用途: 进行特定字符和字符串的搜索 替换字符串中指定的字符或字符串 验证字符串是否符合需求 2. ...

  6. JavaScript正则表达式,你真的知道?

    一.前言 粗浅的编写正则表达式,是造成性能瓶颈的主要原因.如下: var reg1 = /(A+A+)+B/; var reg2 = /AA+B/; 上述两个正则表达式,匹配效果是一样的,但是,效率就 ...

  7. 【JS】javascript 正则表达式 大全 总结

    javascript 正则表达式 大全 总结 参考整理了一些javascript正则表达式 目的一:自我复习归纳总结 目的二:共享方便大家搜索 微信:wixf150 验证数字:^[0-9]*$ 验证n ...

  8. 理清JavaScript正则表达式--上篇

    在JavaScript中,正则表达式由RegExp对象表示.RegExp对象呢,又可以通过直接量和构造函数RegExp两种方式创建,分别如下: //直接量 var re = /pattern/[g | ...

  9. 理清JavaScript正则表达式--下篇

    紧接:"理清JavaScript正则表达式--上篇". 正则在String类中的应用 类String支持四种利用正则表达式的方法.分别是search.replace.match和s ...

随机推荐

  1. oracle 11g 数据库恢复技术 --rman catalog

    Oracle RMAN的catalog并不是指标备份恢复操作的一个必要组件,但oracle推荐使用该组件.启用之后,归档日志.备份集.镜像复制等备份信息的保存地点是RMAN资料库(catalog), ...

  2. lua 十进制转二进制

    -- Converts a byte to a string of 0s and 1s. function byte2bin(n) local t = {} for i=7,0,-1 do t[#t+ ...

  3. numpy 介绍和基础使用详解

    NUMPY INTRODUCTION NUMPY 提供了一个在Python中做科学计算的基础库,重在数值计算,主要用于处理多维数组,用于储存和处理大型矩阵,本身是由C语言开发,比python自身的列表 ...

  4. 【MM系列】SAP 簇表 A017 物料信息记录 (指定工厂) 包含的透明表

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 簇表 A017 物料信息记录 ...

  5. LeetCode.859-伙伴字符串(Buddy Strings)

    这是悦乐书的第330次更新,第354篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第200题(顺位题号是859).给定两个字母A和B的小写字母,当且仅当我们可以在A中交换 ...

  6. 20191127 Spring Boot官方文档学习(4.14-4.17)

    4.14.使用RestTemplate调用REST服务 如果需要从应用程序调用远程REST服务,则可以使用Spring Framework的RestTemplate类.由于RestTemplate实例 ...

  7. 简单记事本的基本实现&十四周总结

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...

  8. IntelliJ IDEA 2019.3 这回真的要飞起来了,新特性抢先看!

    IntelliJ IDEA 才公布下一个主要版本 2019.3 的 Roadmap,近日就发布了 IntelliJ IDEA 2019.3 的首个早期访问版本(即 EAP 版本),版本号为 2019. ...

  9. ThinkPHP关联模型详解

    在ThinkPHP中,关联模型更类似一种mysql中的外键约束,但是外键约束更加安全,缺点却是在写sql语句的时候不方便,ThinkPHP很好得解决了这个问题.但是很多人不动关联模型的意思.现在就写个 ...

  10. Android remote gdb

    On Android phone adb push ~/utils/android-ndk-r12b/prebuilt/android-arm64/gdbserver/gdbserver /data/ ...