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");
特殊符号转义
/\^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"] 字符以正则做截取,返回数组