JavaScript 正则表达式——定义,目的,特点,语法,字符串方法,search() ,replace() ,test(),exec()
㈠什么是正则表达式?
⑴正则表达式,又称规则表达式。(英语: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()的更多相关文章
- JavaScript学习笔记(1)字符串方法
字符串方法 length 属性返回字符串的长度 var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln = txt.length; inde ...
- javascript正则表达式定义(语法)
正则表达式的2种定义方法:一种是直接调用RegExp(),第二种是直接用字面量来定义,即var re = /正则规则/; 2种定义方法本质都是调用RegExp()方法 在调用同一段正则代码的时候,EC ...
- JavaScript正则表达式-定义
通过RegExp()构造函数创建RegExp对象来定义正则表达式. var reg_pattern = new RegExt("a\d"); 通过字面语法直接定义正则表达式. va ...
- JavaScript高级-定义函数(类)方法
1.定义普通函数(常用) //1.普通函数 function defineFun1(p1, p2) { return p1 + p2; } 2.定义匿名函数(最常用) //2.匿名函数 var def ...
- JavaScript笔记(二)——常用数组、字符串方法的应用
1.将字符串中的字符翻转,比如'hello',翻转成'olleh'. var arr=[]; function reverseString(str) { arr=str.split("&qu ...
- JavaScript 正则表达式提取感兴趣的字符串
var tdid="gov_sslim"; var reg=/(\w+)lim/; var name=tdid.match(reg); console.log(name[1]); ...
- 字符串方法 split() & replace()
split() 语法:stringObject.split(separator) 功能:把一个字符串分割成字符串数组 返回值:Array 说明:separator 是必须的,分隔符. var str= ...
- javascript正则表达式总结(test|match|search|replace|split|exec)
test:测试string是否包含有匹配结果,包含返回true,不包含返回false. <script type="text/javascript"> var str ...
- JavaScript 正则表达式RegExp 和字符串本身的正则表达式
JavaScript 正则表达式 正则表达式(英语:Regular Expression,在代码中常简写为regex.regexp或RE)使用单个字符串来描述.匹配一系列符合某个句法规则的字符串搜索模 ...
随机推荐
- Python 输入IP地址及掩码告诉你该网段包含的全部地址(IPy模块练习)
IPy模块原本使用时需要输入正确的网络位和掩码,我利用处理报错的机制实现了输入任意IP地址和掩码均可正确输出结果的小程序. #!/usr/bin/env python # -*- coding: ut ...
- 【Spring 源码】Spring 加载资源并装配对象的过程(XmlBeanDefinitionReader)
Spring 加载资源并装配对象过程 在Spring中对XML配置文件的解析从3.1版本开始不再推荐使用XmlBeanFactory而是使用XmlBeanDefinitionReader. Class ...
- Java中对象和引用的理解
偶然想起Java中对象和引用的基本概念,为了加深下对此的理解和认识,特地整理一下相关的知识点,通过具体实例从两者的概念和区别两方面去更形象的认识理解,再去记忆. 一.对象和引用的概念: 在Java中万 ...
- typedef 定义结构体数组或其他数组
typedef 定义结构体数组或其他数组 C\C++语言下 typedef其实是对一个变量类型的名字进行重新定义,例如下面中: typedef struct { int num[10]; char n ...
- myBatis+Spring+SpringMVC框架面试题整理
myBatis+Spring+SpringMVC框架面试题整理(一) 2018年09月06日 13:36:01 新新许愿树 阅读数 14034更多 分类专栏: SSM 版权声明:本文为博主原创文章 ...
- java各种jar的下载地址和源码下载地址
1.jboss http://jbossmarshalling.jboss.org/downloads2.netty https://netty.io/downloads.html3.spring h ...
- 16 Scrapy之分布式爬虫
redis分布式部署 1.scrapy框架是否可以自己实现分布式? - 不可以.原因有二. 其一:因为多台机器上部署的scrapy会各自拥有各自的调度器,这样就使得多台机器无法分配start_urls ...
- TCP/IP模型层次结构
计算机网络体系结构 (1)OSI七层协议:从上到下:应用层.表示层.会话层.传输层.网络层.数据链路层.物理层. (2)TCP/IP四层协议:从上到下:应用层,传输层.网络层.数据链路层.网络接口层. ...
- VUE 从零开始 学习笔记 一
最近刚跳到一个新公司 不是很忙 决定系统的学习一下VUE这个前端框架 参考官方API 好了 废话不多说 开始了 首先 说一下吧 现在很火的主流三大前端框架 Vue,Angular.React, 为什么 ...
- 配置好ssh互信还需要密码登录
通过ssh-keygen生成公私钥之后,再使用 ssh-copy-id将公钥传送到远程用户.这两步完成后,验证是否能等免密登录,发现并不能. 问题排查: 1..ssh 目录的权限应为 700 auth ...