首页 > Web开发 > 详细

Js正则学习笔记

时间:2019-05-29 18:46:06      阅读:148      评论:0      收藏:0      [点我收藏+]

众所周知正则表达式是十分强大的存在,编码时能够熟练使用正则能够极大的简化代码,因此掌握正则非常有必要。

创建正则语法:

// 创建正则的两种方式
//
1.构造函数  let reg = new RegExp(‘匹配模式‘, ‘修饰符[i/m/g]‘)
let reg = new RegExp(‘test‘, ‘g‘);
// 2.字面量   let reg = /匹配模式/修饰符
let reg1 = /test/g;

正则修饰符:

// i  忽略大小写 
// m  多行匹配
// g  全局匹配

// 例1:
let str = ‘testTEST‘;
let reg = /test/gi;   // 全局匹配 并 忽略大小写
str.match(reg);  // ["test", "TEST"] 

//例2:
str = ‘test\n helloworld‘;
reg = /test$/g
str.match(reg)  // null
reg = /test$/gm
str.match(reg) // ["test"]

正则表达式方法:

test() 方法用于检测一个字符串是否匹配某个模式,返回true、false 
exec() 法用于检索字符串中的正则表达式的匹配, 返回数组
// 例1:
let str = ‘this is test‘;
let reg = /test/;
reg.test(str);  // true
// 例2:
let str1 = ‘this is test2‘;
let reg1 = /test/;
reg1.exec(str1);  // ["test",...]

可用于正则的字符串方法:

search()  检索与正则表达式相匹配的值,返回位置下标
match() 找到一个或多个匹配的字符串,返回匹配到的值
replace() 替换匹配的字符串,返回替换后的值
split() 将字符串分割为数组,返回数组
// 例1:
let str2 = ‘this is searchTest‘;
let reg2 = /Test/i;
str2.search(reg2);  // 14
// 例2: 
let str3 = ‘this is matchTESTMATch‘;
let reg3 = /match/gi;
str3.match(reg3);   //["match", "MATch"]
// 例3:
let str4 = ‘this is replaceTest‘;
let reg4 = /replaceTEST/i;
str4.replace(reg4, ‘修改后的字符串‘);
// 例4:
let str5 = ‘/Date(1515554448781)‘;
let reg5 = /(\/Date\(|\))/g;
str5.replace(reg5, ‘‘);  // 1515554448781

// 例5:
let str6 = ‘/Date(1515554448781)‘;
let reg6 = /(\/Date\(|\))/g;
str6.split(reg6);   // ["", "/Date(", "1515554448781", ")", ""]

正则基础表达式:

[a-z]  a-z 任意字符
[test]  []中任意字符
[^dsad] 非[]中的任意字符
[abc|efg] []中任意字符
(abc|efg) () abc字符串或efg字符串

n*   0个或多个
n+  1个或多个
n{x} x个字符
n{x, } 大于等于x个字符
n{x, y} x到y个字符
n(?=x)  匹配任何其后紧接指定字符串 n 的字符串。
n(?!x)   匹配任何其后没有紧接指定字符串 n 的字符串。
^n 以n开头
n$ 以n结尾

 

Js正则学习笔记

原文:https://www.cnblogs.com/mp1994/p/10945080.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!