4.11
正则表达式:表示字符串规则的表达式.
1./pattern/attrs
2.new RegExp(pattern,attrs)
锚点:匹配一个位置
常用锚点:
^ 起始位置 /^http/
$ 结尾的位置 /\.jpg$/
\b 单词边界
字符类:匹配一类字符中的一个
常用:[abc] 可用于匹配 a或者b或者c
[0-9] 匹配一个数字
[^0-9] 匹配一个非字母
[a-z] 可用于匹配一个小写字母
. 任意字符除了换行符

元字符:特殊意义的字符
常见: ^,$,\b
\d匹配数字[0-9] \D匹配非字符[^0-9]
\s匹配空白字符 \S非空白符
\w匹配任意单词字符 []

A-Za-z0-9
\W非单词字符[^\w]

量词:表示字符出现的次数
{m,n}出现m到n次之间
*0到无穷次{0,}
?0次或者一次{0,1}
+1次以上{1,}



转义符:\表示
多选分支:|或者的意思
/thi(c|n)k/ === /thi[cn]k/
/\.(png|jpg|jpeg|gif)$/

常用方法
其用于测试正则表达式与指定字符串是否匹配。
/123/.test(123); // true
/123/.test(111); // false
/123/.test('x123'); // true


捕获

其用于保存所匹配到的字符串为后续开发所用。() 可用于捕获,正则表达式再运行时会将其保存下来,(?:) 则不予保存。
// str.match(regexp)
var url = 'http://www.google.com/query?test=li-xinyang#cool';
var reg = /(https?:)\/\/([^\/]+)(\/[^\?]*)?(\?[^#]*)?(#.*)?/;

var arr = url.match(reg);
var protocol = arr[1];
var host = arr[2];
var pathname = arr[3];
var search = arr[4];
var hash = arr[5];

搜索与替换

regexpObj.exec(str) 可以提供更强大的检索,它可以提供更详尽的结果 index 也可以提供过程状态 lastIndex。
str.replace(regex/substr, replacement) 可以使用正则表达式来对字符串进行替换。

posted on 2016-04-11 19:06  农场的小伙  阅读(161)  评论(0编辑  收藏  举报