IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> JavaScript正则表达式学习 -> 正文阅读

[JavaScript知识库]JavaScript正则表达式学习

创建

构造函数

修饰符只能是g i m,可以省略

var pattern = new RegExp("正则表达式内容","修饰符");
var pattern = new RegExp("abc","ig");

字面量

var pattern = /正则表达式/修饰符;
var pattern=/adc/img;

修饰符

i

ignore case 忽略大小写

m

multiline 多行匹配(\n)
如果目标字符串中没有\n的话,m修饰符无意义

g

global 全词匹配
如果加了该修饰符,在匹配时会维护一个 lastIndex 的属性,用来记录当前匹配到这个字符串时的结束位置,下一次匹配时,会从lastIndex开始
如果没有g修饰符,lastIndex一直为0

原型方法

exec()

从参数获取目的字符串
参数:字符串
返回值:类数组对象[数组,index(匹配到的目标字符串的开始下标),input…]

var pattern = /abc/g;
var str="abc";
var result=pattern.exec(str);
console.log(result);//[ 'abc', index: 0, input: 'abc', groups: undefined ]

/abc/ :只匹配abc或者它的其他大小写状态
/abc(d|e)/ :匹配abcd或abce
const readline = require("readline-sync");
var pattern=/abc/i;
var str=readline.question("请输入你要检验的字符串");
console.log(pattern.exec(str));

在这里插入图片描述

test()

用来检测一个字符串是否匹配某个模式
参数:str
返回值:Boolean类型 true/false

var pattern =/abc/i;
var string ="hello 123 abcd";
//只要找到abc,不管后面是什么,找到就直接输出true
console.log(pattern.test(string));//true

toString()

参数:不需要传参
返回值:string

var pattern =/abc/i;// /abc/i
// var pattern = new RegExp("abc","m"); // /abc/m 一般这种时候调用toString
console.log(pattern.toString());

原型属性

属性描述
global是否开启了全局匹配
ignoreCase是否忽略大小写
multiline是否开启了多行匹配
source正则表达式的字符串
flags正则表达式的修饰符
var pattern =/abc/img;
console.log(pattern.global);//true
console.log(pattern.ignoreCase);//true
console.log(pattern.multiline);//true
console.log(pattern.source);//abc
console.log(pattern.flags);//gim

正则表达式规则

正则表达式不是js特有的,所有编程语言都可以用

字符类

符号作用
.用来匹配任意单个字符,行结束符除外
\d匹配任意的一个阿拉伯数字,等价于[0-9]
\D匹配任意一个不是阿拉伯数字的字符,等价于[^0-9]
\w匹配任意字母、数字、下划线,等价于[A-Za-z0-9]
\W匹配任意不是字母、数字、下划线,等价于[^A-Za-z0-9]
\s匹配空白符、空格、制表符、换行符、换页符和其他Unicode(\u00A0等)
\S匹配一个非空白字符
\t匹配一个水平制表符(tab)
\n匹配一个换行符
\r匹配一个回车符
\v匹配一个垂直制表符
\f匹配一个换页符
var pattern=/abc./g;//匹配以abc开头的四个字符的
var str="abcd abc abcc";
console.log(str.match(pattern));//[ 'abcd', 'abc ', 'abcc' ]
//匹配abc.
//var pattern=/abc./g;//[ 'abcd', 'abc.', 'abc.' ]
var pattern=/abc\./g;//[ 'abc.', 'abc.' ] 这里进行转义,这样就会只输出abc.
var str="abcd abc. abc.c";
console.log(str.match(pattern));
//匹配三个字符开头.结束
var pattern=/...\./g;
var str="abcd abc. a0c.c";
console.log(str.match(pattern));//[ 'abc.', 'a0c.' ]

字符集合

集合描述
[0-9]0-9
[A-Z]A-Z
[^A-Z]取反,匹配不包括在A-Z间的值
[012]只有012
// var pattern=/^(\d{4})-(\d{2})-(\d{2})$/g;
var pattern=/^[1-9]\d{3}-(0[1-9]|1[1-2]})-(0[0-9]|[1-2][0-9]|3[0-1])$/g;
var str="2021-09-01";
var str1="2021-31-01";
console.log(pattern.test(str));//true
console.log(pattern.test(str1));//false

边界

字符描述
^匹配输入开始
$匹配输入结尾

分组

(|)
分组不太懂

Javascript中 String对正则表达式的支持

match()

要使用正则表达式的全局修饰符g
调用者:string
参数:正则表达式
返回值:数组(匹配成功结果组成的数组)

//匹配三个字符开头.结束
var pattern=/...\./g;
var str="abcd abc. a0c.c";
console.log(str.match(pattern));//[ 'abc.', 'a0c.' ]

search()

调用者:string
参数:正则表达式,如果参数不是正则表达式,会先使用RegExp将其转为构造函数
不支持全局检索g
返回值:如果匹配成功,返回第一个匹配成功的值的索引位置;如果匹配不成功返回-1

var pattern=/...\./g;
var str="abcd abc. a0c.c";
console.log(str.search(pattern));//5

replace()

替换文本内容
调用者:string
参数:正则表达式,要替换的字符串
返回值:替换过后的文本(不改变 原字符串)

var text="javascript";
//将全小写的换成驼峰式
console.log(text.replace(/javascript/gi,"JavaScript"));//JavaScript
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-02 11:15:56  更:2021-09-02 11:16:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年6日历 -2024/6/18 0:55:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码