一、正则表达式

正则表达式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. java保留2位或n位小数

    1.直接使用字符串处理 double ds = Double.valueOf(String.format("%.3f", Math.random()).toString()); 这 ...

  2. for循环、列表的切片、元组

    一.遍历整个列表 使用for语句循环将列表每取出一个变量,然后存储在中间变量中,打印中间变量:循环取出: 1.简单for循环 示例: carssa = ['richan','fengtian','be ...

  3. Springboot2.x集成Redis哨兵模式

    Springboot2.x集成Redis哨兵模式 说明 Redis哨兵模式是Redis高可用方案的一种实现方式,通过哨兵来自动实现故障转移,从而保证高可用. 准备条件 pom.xml中引入相关jar ...

  4. golang网络编程高并发

    1 golang写服务器不需要epoll吗 golang写服务器不需要在用reactor模式的epoll了,因为golang的协程非常廉价,可以并发开启成千上完个协程. 一个协程占用内存大概2KB左右 ...

  5. 不是我吹,Lambda这个坑你肯定不知道!

    上周有小伙伴反馈zk连接很慢.整理出zk连接的关键逻辑如下: public class ClientZkAgent {   //单例模式   private static final ClientZk ...

  6. windows上安装 包管理工具choco及scoop

    1.安装 choco: 1.1.使用管理员方式打开 PowerShell 1.2.输入 Set-ExecutionPolicy RemoteSigned,输入 Y 1.3.安装 choco输入:iwr ...

  7. P1067多项式输出

    这道题是2009普及组的题,仍然是一个字符串+模拟.(蒻到先不刷算法) 这道题的题干给了很多的提示,也很全面,但是当我把种种情况都考虑到了后,在写代码的过程中仍然出现了很多的错误,wa了三四次.其实导 ...

  8. pip找不到的安装包

    pip install找不到一些python包 可以访问网址,选择python版本自行下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 清华大学开源 ...

  9. 坐标轴刻度取值算法-基于魔数数组-源于echarts的y轴刻度计算需求

    本文链接:https://blog.csdn.net/qq_26909801/article/details/96966372数值型坐标轴刻度计算算法前言算法描述上代码代码运行效果结语前言因实习的公司 ...

  10. install python+twisted+mysqldb+django on mac

    一. install python 1) check install or not 在mac终端输入命令:which python 即可查看python的路径 2)未安装时,手动下载安装包 地址:ht ...