JavaScript正则表达式简介(一)
一、正则表达式
正则表达式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正则表达式简介(一)的更多相关文章
- javascript正则表达式简介
javascript正则表达式 javascript正则表达式 regular expression是一个描述字符模式的对象: ECMAScript中的RegExp类表示正则表达式: String ...
- JavaScript正则表达式详解(一)正则表达式入门
JavaScript正则表达式是很多JavaScript开发人员比较头疼的事情,也很多人不愿意学习,只是必要的时候上网查一下就可以啦~本文中详细的把JavaScript正则表达式的用法进行了列表,希望 ...
- JavaScript正则表达式详解(二)JavaScript中正则表达式函数详解
二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 ...
- javascript正则表达式语法
1. 正则表达式规则 1.1 普通字符 字母.数字.汉字.下划线.以及后边章节中没有特殊定义的标点符号,都是"普通字符".表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的 ...
- javascript 正则表达式 详细入门教程
1.什么是正则表达式 定义: 一个用来搜索.匹配.处理一些符合特定语法规则的一个强大的字符串处理工具. 用途: 进行特定字符和字符串的搜索 替换字符串中指定的字符或字符串 验证字符串是否符合需求 2. ...
- JavaScript正则表达式,你真的知道?
一.前言 粗浅的编写正则表达式,是造成性能瓶颈的主要原因.如下: var reg1 = /(A+A+)+B/; var reg2 = /AA+B/; 上述两个正则表达式,匹配效果是一样的,但是,效率就 ...
- 【JS】javascript 正则表达式 大全 总结
javascript 正则表达式 大全 总结 参考整理了一些javascript正则表达式 目的一:自我复习归纳总结 目的二:共享方便大家搜索 微信:wixf150 验证数字:^[0-9]*$ 验证n ...
- 理清JavaScript正则表达式--上篇
在JavaScript中,正则表达式由RegExp对象表示.RegExp对象呢,又可以通过直接量和构造函数RegExp两种方式创建,分别如下: //直接量 var re = /pattern/[g | ...
- 理清JavaScript正则表达式--下篇
紧接:"理清JavaScript正则表达式--上篇". 正则在String类中的应用 类String支持四种利用正则表达式的方法.分别是search.replace.match和s ...
随机推荐
- windows环境下PostgreSQL的安装
1.首先在如下链接下载PostgreSQL的压缩包,我这里下载的是postgresql-12.1-1-windows-x64-binaries.zip. https://www.enterprised ...
- zabbix+grafana使用
参照文档 https://blog.csdn.net/xiegh2014/article/details/54928883
- cocos2dx基础篇(17) 音乐音效SimpleAudioEngine
[3.x] (1)获取单例:sharedEngine() 改为 getInstance() (2)实现了:音量的调节. (3)修改了播放音效 playEffect() 的参数: ...
- JDK8中接口的新特性
在JDK8环境中,接口中的方法不再是只能有抽象方法,还可以有静态方法和default方法.实现类只需要实现它的抽象方法即可,JDK8中的接口有愈发向抽象类靠拢的感觉. 关于静态方法和默认方法作如下简述 ...
- 使用certbot 为nginx或openresty启用https
certbot 使用letsencrypt 生成免费https证书 以下内容网上整理,原文地址 https://segmentfault.com/a/1190000005797776 -------- ...
- sqlplus无法登陆?
关键词:error 6 initialize sqlplus,ORA-27101: shared memory realm does not exist 1.error 6 initialize sq ...
- Java 多线程编程之:notify 和 wait 用法
wait 和 notify 简介 wait 和 notify 均为 Object 的方法: Object.wait() —— 暂停一个线程 Object.notify() —— 唤醒一个线程 从以上的 ...
- 洛谷 P1484 种树(优先队列,贪心,链表)
传送门 解题思路 第一眼的贪心策略:每次都选最大的. 但是——不正确! 因为选了第i个树,第i-1和i-1棵树就不能选了.所以,要有一个反悔操作. 选了第i个后,我们就把a[i]的值更新为a[l[i] ...
- 哈希hash
定义 是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值 生成方法 hash() 哈希特性 不可逆 :在具备编码功能的同时,哈希算法也作为一种加密算 ...
- jquery中的插件EChars的使用
首先,进入EChars的官网下载页面:http://echarts.baidu.com/download.html 下载自己需要的版本. 引入jquery包和echars,进入官网的实例:htt ...