正则上

作者: 追逐_e6cf | 来源:发表于2018-09-16 16:54 被阅读0次

一、初识正则表达式
正则表达式(regular Expression):RegExp();
1.用处:检索文本,按照我们指定的规则去实现,简单的模式匹配到单词、文字、符号、进行内容替换
2.基本用法:
//
RegExp();
3.模式:
/pattern/modifier
pattern(模式):你想怎么去进行匹配【规则】
modifier(修饰符):你想添加什么样的条件
4.如果匹配不到:返回空null;
5.对象的方法:
test():如果能够匹配到的话,返回true,如果匹配不到返回false
exec():如果能够匹配到的话,返回内容,如果匹配不到就返回空
match():如果能够匹配到的话,返回内容,如果匹配不到就返回空

//常规型:
var str = "hello";
var reg = /l/g;  //g是全局匹配
console.log(reg.test(str));  //测试
console.log(str.match(reg))  //用正则表进行查找

var reg = new RegExp("h");
console.log(str.match(reg));
console.log(reg.test(str));
console.log(reg.exec(str));

二、元字符
1.\w:匹配单词(字母)、数字、_
\W:匹配非单词(字母)、非数字、非_

var str = "ABC";
var str = "1";
var str = "_";
var str = "-";
var reg = /\w/;
var reg1 = /\W/;
console.log(reg.test(str));
console.log(reg1.test(str));

2.\d:匹配数字
\D:匹配非数字

var str = "abc-1";
var reg = /\d/;
var reg1 = /\D/;
console.log(reg.test(str)); //true 母串里面有数字
console.log(reg1.test(str)); //true 母串里面有非数字

3.\s:匹配空格
\S:匹配非空格

var str = " "; //空格字符的字符串
var str = ""; //空字符串
var reg = /\s/;
console.log(reg.test(str1)); //匹配不到内容
console.log(reg.test(str)); //匹配到空格

4.\b:匹配单词边界
\B:匹配非单词边界

var str = "hello";
var reg = /\b/g;
var reg1 = /\B/g;
console.log(reg.test(str));
console.log(str.match(reg));
console.log(str.match(reg1));

三、转义字符
g为全局内容【匹配到整个母串】
特殊的转义字符:
\n 换行
. 匹配任意字符【匹配不到\n,\r】
\r 制表符

var str = "hello world";
var reg = /./g;
console.log(str.replace(reg, "xx"));
var str = "\\"; //第一个斜杠表示转义,第二个斜杠表示真正的\
var reg = /\\/;
console.log(reg.test(str));

四、量词:
{num} 正好有多少个
{num,} 匹配最少num个,最大无限个
{num1, num2} 匹配最少num1,最多num2个

var str = "aaaaaa";
var reg = /a/;
var reg1 = /a{6}/; //匹配是否有6个a
console.log(reg.test(str));
console.log(reg1.test(str));

var reg = /a{2}/;
var reg1 = /a{2,}/; //匹配最少2个,最大无限
console.log(reg.test(str));
console.log(reg1.test(str));
console.log(str.replace(reg1, "b"));

var reg = /a{2,5}/g; //匹配最少2个,最大5个
console.log(reg.test(str));
console.log(str.replace(reg, "b"));

^ 以什么开头
$ 以什么结尾

var str = "a88888d";
var reg = /^a/;
var reg1 = /d$/;
console.log(reg.test(str));
console.log(reg1.test(str));

//特殊情况:如果从零开始进行匹配
var str = "baaa";
var reg = /a{0,2}/;
console.log(reg.test(str));
console.log(str.replace(reg,"c"));

五、贪婪模式与惰性模式:
贪婪模式 条件*
惰性模式 条件?
{num}?
{num,}?
{num1,num2}?

var str = "123456789abc";
var reg = /\d*/;
console.log(str.match(reg));

var str = "123456789abc";
var reg = /\d?/;
console.log(str.match(reg));

var str = "123456789abc";
var reg = /\d{2,}?/;  // \d满足数字条件,满足数量的条件?贪婪模式
console.log(str.match(reg));

六、修饰符:
g:全局匹配
i:忽略大小写进行匹配
m:换行匹配

var str = "hello world";
var reg = /./g;
console.log(str.replace(reg, "6"));

var str = "HELLOHELLO";
var reg = /hello/ig;
console.log(str.replace(reg, "6"));

相关文章

  • 正则上

    一、初识正则表达式正则表达式(regular Expression):RegExp();1.用处:检索文本,按照我...

  • 正则(上)

    字符串的表现形式 '\n' 代表一个字符 n,只是这个 n 的意思(换行)与平时(字母 n)不一样,故称为「转义字...

  • 正则表达式

    正则表达式(上) 正则表达式(下)

  • javascript正则表达式 execAll的实现 ----

    正则的捕获 实现正则捕获的方法 正则RegExp.prototype上的方法exectest 字符串String....

  • 8.正则更多的捕获方式

    上一篇:‘?’在正则中的作用 正则捕获的原理正则捕获的原理就是与它的lastIndex有关(lastIndex的改...

  • 5.正则捕获的懒惰性及解决方案

    上一篇:常用正则表达式 正则捕获的懒惰性及解决方案 正则捕获​ :把一个字符串和正则匹配的部分获取到​ [正则方法...

  • grep正则

    91 正则介绍_grep(上) 正则介绍grep grep -c 显示行数 grep -n 显示行号 grep -...

  • 正则匹配

    正则 正则表达式引擎匹配 正则引擎大体上可分为不同的两类:DFA和NFA,而NFA又基本上可以分为传统型NFA和P...

  • linux正则表达式详解(二) -扩展正则表达式

    上一章我们主要探讨了通配符和基础正则表达式,这章重点探讨扩展正则表达式的应用。 基本正则表达式包含: 扩展正则添加...

  • 正则表达式

    1.正则概述学正则就是为了提取源代码中想要的数据。正则不是某一门语言,所有的都有正则,规则基本上都一样。Pytho...

网友评论

      本文标题:正则上

      本文链接:https://www.haomeiwen.com/subject/zicfnftx.html