目的:
处理字符串的查找、替换需求
按照某种规则(正则表达式)去匹配(查找)符合条件的字符串
案例1:
https://www.baidu.com
https://www.cnnic.net.cn
我想筛选出开头是https://结尾是.com的字符串,对他操作(其中是转义)
http:(//.+.com)
$1
这个操作是将后面的//www.baidu.com分组了,然后把这个分组提取出来于是得到的就是:
//www.baidu.com
案例2:
2014/12/12
2015/12/444
我想筛选出开头是4位数字/或者-再两位数字再/或者-再两位数字,头尾加上结束符号
^d{4}[/-]d{2}[/-]d{2}$
然后就是分组,^(d{4})[/-](d{2})[/-](d{2})$
筛选时候就可以写:$2-$3-$1
得到的结果就是:
12-2014-12
案例3:
构造函数,可在console或者http://jsbin.com/?html,js,output中实践:
var reg = /is/;
'He is a boy .This is a dog.Where is she?'.replace(reg,'IS')
"He IS a boy .This is a dog.Where is she?"
'He is a boy .This is a dog.Where is she?'.replace(/is/gi,'0')
"He 0 a boy .This 0 a dog.Where 0 she?"
语法:
修饰符:
g:global 全文搜索,不添加则搜索到第一个匹配停止;
i:ignore case 忽略大小写,默认大小写敏感;
multiline:多行搜索,默认值是false
lastIndex:是当前表达式匹配内容的最后一个字符的下一个位置
source:正则表达式的文本字符串
元字符:
:水平制表符;
v:垂直制表符;
:换行符;
:回车符;