您的位置:首页 > Web前端 > JavaScript

js学习笔记3

2016-04-11 19:06 519 查看
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) 可以使用正则表达式来对字符串进行替换。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: