㈠什么是正则表达式?

⑴正则表达式,又称规则表达式。(英语: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

最新文章

  1. 【Java每日一题】20161228
  2. IL指令详细
  3. moq 的常用使用方法
  4. hdu 5106 组合数学+找规律
  5. asp.net EF model中的默认值设置
  6. <<c 和指针 >> 部分笔记。
  7. 【2】认识Bootstrap
  8. delphi 提取字符中的数字
  9. React-Native获取文本框的值
  10. hibernate查询出的数据和数据库不一致
  11. 使用logdashboard进行可视化的日志追踪
  12. word里面对齐用Tab键
  13. 运营商专线服务的基本原理(BGP传递私网路由)
  14. 前端模块化,AMD与CMD的区别
  15. PHP ACCESS-CONTROL-ALLOW-ORIGIN ,设置跨域头
  16. Map、Set使用过程中可能出现的问题
  17. Qthread的使用方法
  18. Linux下修改Jenkins默认端口
  19. python中的print()、str()和repr()的区别
  20. UWP 多语言的三个概念

热门文章

  1. MSF魔鬼训练营-3.5.4Nmap与渗透测试数据库
  2. [Python3] 039 语法调试
  3. PTA(Basic Level)1030.完美数列
  4. 设计模式:备忘录模式(Memento)
  5. java导入导出Excel文件
  6. tp5.1中redis使用
  7. APP_测试流程(测试点)
  8. 首探:Ruby on Rails 简单了解
  9. 通过Playbook部署LAMP
  10. java实现spark常用算子之count