一、正则表达式

正则表达式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. sql语句实现行转列的3种方法实例

    sql语句实现行转列的3种方法实例 一般在做数据统计的时候会用到行转列,假如要统计学生的成绩,数据库里查询出来的会是这样的,但这并不能达到想要的效果,所以要在查询的时候做一下处理,下面话不多说了,来一 ...

  2. 笨办法学python 13题:pycharm 运行

    笨办法学python 13题 代码: # -*- coding: utf-8 -*- from sys import argv # argv--argument variable 参数变量 scrip ...

  3. 成功秀了一波scala spark ML逻辑斯蒂回归

    1.直接上官方代码,调整过的,方可使用 package com.test import org.apache.spark.{SparkConf, SparkContext} import org.ap ...

  4. 【css】子元素浮动到了父元素外,父元素没有随子元素自适应高度,如何解决?

    正常情况 如果子元素没有设置浮动(float),父元素的高度会随着子元素高度的改变而改变的. 设置浮动以后 父元素的高度不会随着子元素的高度而变化. 例如:在一个ul中定义若干个li,并设置float ...

  5. linux 查看汉字编码方式

    hexdump -C b.bcp 09 为\t 0a 为\n 一个汉字占三位为utf-8  占两位的不对

  6. pyhton之解析html的表格

    #!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = 'jiangwenwen' from bs4 import BeautifulS ...

  7. select count(*) 底层到底干了啥?

    作者:贾春生,http://dwz.win/myg SELECT COUNT( * ) FROM TABLE 是个再常见不过的 SQL 需求了. 在 MySQL 的使用规范中,我们一般使用事务引擎 I ...

  8. AcWing 875. 快速幂

    题目链接:https://www.acwing.com/problem/content/description/877/ 快速幂模板题,计算ab mod p 的值,a,b,p大概1e9左右,可以快速计 ...

  9. JProfiler> ERROR: Invalid license key. Aborting.

    用IDEA+Tomcat的方式打开JProfiler,出现错误 1,Event Log 出错 16:10 Application Server was not connected before run ...

  10. You-Get,多网站视频下载工具,非常方便

    You-Get是一个非常优秀的网站视频下载工具.使用You-Get可以很轻松的下载到网络上的视频.图片及音乐. 按Win+R键打开运行,输入cmd,再输入命令 pip install you-get, ...