javaScript基础(八)正则表达式

简单讲解正则表达式,如果想学正则可以看《精通正则》……等书籍

什么是正则?

在常见的字符串检索或替换中,我们需要提供一种模式化表示检索或替换的规则。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。

abc   [a-z]{4}  \d\d\d 三个数字


正则的简单例子

/\d\d\d/.test("123");//true 表示三个数字

/\d\d\d/.test("adb");//false

new RegExp("Bosn").test("HI,Bosn");


javaScript基础(八)正则表达式


javaScript基础(八)正则表达式

javaScript基础(八)正则表达式

javaScript基础(八)正则表达式

特殊符号转义

/\^abc/ .test('^abc');//true


三个Flag

global:查看所有的;

ignoreCase:不区分大小写;

multiline:跨行查询;


/abc/gim.test("ABC");//true    gim中的g = global,I = ignoreCase,m = multiline;

RegExp("abc","mig");


正则对象属性

/abc/g.global //true

/abc/g.ignoreCase //false

/abc/g.multiline //false

/abc/g.source //"abc" 原数据


对象方法

/abc/.exec("abcdef");//"abc" 匹配字符串

/abc/.test("abcde");//true

/abc/.toString();//"/abc/"


var reg = /abc/;reg.complie("def"); //改变正则

reg.test("def");//true


string 类型与正则相关的方法

String.prototype.search     "abcabfdef".search(/abc/1);//0 搜索出现的位置i

String.prototype.replace    "aabbbbbbcc".replace(/b+?/,"1");//aa1bbbcc 将b第一次出现的位置替换

String.prototype.match      "aabbbcc".match(/b+/);//bbb 返回匹配的字符

String.prototype.split        "aabbbbccbbaa".split(/b+/);//["aa","cc","aa"] 字符以正则做截取,返回数组