㈠什么是正则表达式?

⑴正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。

   正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

⑵正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”。

   这个“规则字符串”用来表达对字符串的一种过滤逻辑。

⑶正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。

㈡正则表达式的目的

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

⑴给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”)

⑵可以通过正则表达式,从字符串中获取我们想要的特定部分。

 

㈢正则表达式的特点

⑴灵活性、逻辑性和功能性非常强

⑵可以迅速地用极简单的方式达到字符串的复杂控制

⑶对于刚接触的人来说,比较晦涩难懂

㈣正则表达式语法

/正则表达式主体/修饰符(可选)

示例:

var patt = /baidu/i

⑴  /baidu/i  是一个正则表达式。

⑵  baidu  是一个正则表达式主体 (用于检索)。

⑶  i  是一个修饰符 (搜索不区分大小写)。

㈤使用字符串方法

⑴在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。

⑵search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。

⑶replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

㈥search() 方法

⑴search() 方法使用正则表达式

示例:

使用正则表达式搜索 "Runoob" 字符串,且不区分大小写:

var str = "Visit Runoob!";
var n = str.search(/Runoob/i); 输出结果为:

⑵search() 方法使用字符串

search 方法可使用字符串作为参数。字符串参数会转换为正则表达式。

示例:

检索字符串中 "Runoob" 的子串:

var str = "Visit Runoob!";
var n = str.search("Runoob"); 输出结果为:

㈦replace() 方法

⑴replace() 方法使用正则表达式

示例:

使用正则表达式且不区分大小写将字符串中的 Microsoft 替换为 Runoob :

var str = document.getElementById("demo").innerHTML;
var txt = str.replace(/microsoft/i,"Runoob"); 结果输出为:Visit Runoob!

⑵replace() 方法使用字符串

replace() 方法将接收字符串作为参数:

示例:

var str = document.getElementById("demo").innerHTML;
var txt = str.replace("Microsoft","Runoob");

★使用 RegExp 对象

在 JavaScript 中,RegExp 对象是一个预定义了属性和方法的正则表达式对象。

㈧使用 test()

⑴test() 方法是一个正则表达式方法。

⑵test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。

⑶以下实例用于搜索字符串中的字符 "e":

⑷示例:

var patt = /e/;
patt.test("The best things in life are free!");

字符串中含有 "e",所以该实例输出为:true

㈨使用 exec()

⑴exec() 方法是一个正则表达式方法。

⑵exec() 方法用于检索字符串中的正则表达式的匹配。

⑶该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。

⑷以下实例用于搜索字符串中的字母 "e":

/e/.exec("The best things in life are free!");

字符串中含有 "e",所以该实例输出为:e

JavaScript 正则表达式——定义,目的,特点,语法,字符串方法,search() ,replace() ,test(),exec()的更多相关文章

  1. JavaScript学习笔记(1)字符串方法

    字符串方法 length 属性返回字符串的长度 var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln = txt.length; inde ...

  2. javascript正则表达式定义(语法)

    正则表达式的2种定义方法:一种是直接调用RegExp(),第二种是直接用字面量来定义,即var re = /正则规则/; 2种定义方法本质都是调用RegExp()方法 在调用同一段正则代码的时候,EC ...

  3. JavaScript正则表达式-定义

    通过RegExp()构造函数创建RegExp对象来定义正则表达式. var reg_pattern = new RegExt("a\d"); 通过字面语法直接定义正则表达式. va ...

  4. JavaScript高级-定义函数(类)方法

    1.定义普通函数(常用) //1.普通函数 function defineFun1(p1, p2) { return p1 + p2; } 2.定义匿名函数(最常用) //2.匿名函数 var def ...

  5. JavaScript笔记(二)——常用数组、字符串方法的应用

    1.将字符串中的字符翻转,比如'hello',翻转成'olleh'. var arr=[]; function reverseString(str) { arr=str.split("&qu ...

  6. JavaScript 正则表达式提取感兴趣的字符串

    var tdid="gov_sslim"; var reg=/(\w+)lim/; var name=tdid.match(reg); console.log(name[1]); ...

  7. 字符串方法 split() & replace()

    split() 语法:stringObject.split(separator) 功能:把一个字符串分割成字符串数组 返回值:Array 说明:separator 是必须的,分隔符. var str= ...

  8. javascript正则表达式总结(test|match|search|replace|split|exec)

    test:测试string是否包含有匹配结果,包含返回true,不包含返回false. <script type="text/javascript"> var str ...

  9. JavaScript 正则表达式RegExp 和字符串本身的正则表达式

    JavaScript 正则表达式 正则表达式(英语:Regular Expression,在代码中常简写为regex.regexp或RE)使用单个字符串来描述.匹配一系列符合某个句法规则的字符串搜索模 ...

随机推荐

  1. 前端实现app引导页面动画效果

    插件描述:jQuery引导插件TourTip 交互式可视化指南网页上的元素.使用方法 步骤1: 将以下标记添加到您的文档的<head> 你还需要复制旁边插件的css文件夹和下载的IMG文件 ...

  2. Hadoop简介及架构

    狭义上来说,hadoop就是单独指代hadoop这个软件, 广义上来说,hadoop指代大数据的一个生态圈,包括很多其他的软件 2.hadoop的历史版本介绍 0.x系列版本:hadoop当中最早的一 ...

  3. <<大道至简>>伪代码

    import.java.大道至简.* public class YuGong { public static void main(String [] args) throws IOException ...

  4. LeetCode 初次使用 两数之和的训练

    首先看到示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 想到,我可以先在nu ...

  5. jQuery扁平化风格手风琴菜单

    在线演示 本地下载

  6. LCT做题笔记

    最近几天打算认真复习LCT,毕竟以前只会板子.正好也可以学点新的用法,这里就用来写做题笔记吧.这个分类比较混乱,主要看感觉,不一定对: 维护森林的LCT 就是最普通,最一般那种的LCT啦.这类题目往往 ...

  7. sql server SQL 服务器 - RDBMS

    SQL 服务器 - RDBMS --现代的 SQL 服务器构建在 RDBMS 之上. DBMS - 数据库管理系统(Database Management System) --数据库管理系统是一种可以 ...

  8. 机器学习-正则化(岭回归、lasso)和前向逐步回归

    机器学习-正则化(岭回归.lasso)和前向逐步回归 本文代码均来自于<机器学习实战> 这三种要处理的是同样的问题,也就是数据的特征数量大于样本数量的情况.这个时候会出现矩阵不可逆的情况, ...

  9. 关于redis的几件小事(十)redis cluster模式

    redis cluster是redis提供的集群模式. 1.redis cluster的架构 ①可以有多个master node,每个master node 都可以挂载多个slave node. ②读 ...

  10. 树莓派 ubuntu mate 16.4 frp使用什么版本 如何让外网访问

    首先 frp选择frp arm 我选的是32位 你先需要一个有公网ip的服务器,然后搜索网上frp的教程,网上很多足够