笔记-[正则]-正则表达式的总结.
在JS中的正则表达式总结:
什么是正则表达式?正则表达式是一种操作和匹配字符串的规则。
正则也是JS内部系统对象的其中一个对象,有几个常用的方法。
正则表达式的写法:
简写:var re=/正则表达式的内容/;
完整:var re=new RegExp();
注:在一般情况下,我们使用的是简写的正则写法,但是在正则需要传参(传入外部变量)的时候一定是使用完整的正则表达式才可以做到。
正则表达式对象的常用方法如下:
(1)test()方法:格式:正则.test(字符串) //如果匹配成功则返回真,否则返回假.
例如:
<script>
var str='abcdefg';
var re=/abc/;注释:/abc/是匹配abc是否存在
re.test(str);//返回真
</script>
(2)search()方法:格式:字符串.search(正则) //下正则匹配字符串,如果匹配成功返回字符串成功的位置,否则返回-1.
例如:
<script>
var str='helloworld';
var re=/l/;//返回第一个l的位置,如果是不区分大小写,则需要在后面加一个i标识符ignore(忽略大小写);var re=/L/i;同样可以匹配到l
str.search(re);// 返回 3
</script>
(3)match()方法:格式:字符串.match(正则) //如果匹配成功则返回成功的数组,否则返回null
例子:
<script>
var =str='andjkf21327fkadfksf909';//找到其中的数字
var re=/\d+/g; //g是标识符,是全局匹配的意思,否则默认是匹配到第一个内容退出.+号是量词,匹配一个或者多个的意思,\d是匹配数字(一个\d是匹配一个).
str.match(re);//返回 [21327,909]
</script>
(4)replace()方法: 格式:字符串.replac(正则,新的字符串[或者是回调函数]) 匹配新的字符串,相当于替换,匹配成功则替换成新的字符串。
例子:
<script type="text/javascript">
var str="我是一个很好,很不错的人";
var re=/很好|不错|人/g;// | 是或的意思
//alert(str.replace(re,'*'));//输出 我是一个**,很**的* 过渡字符串
alert(str.replace(re,function(str){//str是该回调函数的参数,是匹配成功的字符
var result='';
for(var i=0;i<str.length;i++){
result+='*';
}
return result;
}));
</script>
/*-------------------------------------------------------------------*/
正则表达式的一些固定属性用法:
标识符:
g:全局匹配的标识符,作用是匹配字符串的整体正则
i:忽略大小写的匹配
|:或者的意思
量词:是指字符个数的不确定性用 {} 表示
如:
{1,}最小出现1次
{1,6}最小出现1次,最多出现6次.
{1}正好是1次
+ : 出现一次或多次 相当天{1,} \d+
? : 出现0次或者1次
* : 至少出现0次 相当天{0,}
其他:
^ :代表开始
$ :代表结束
[]: []中括号的整体内容代表一个字符
[^]:代表排除的意思
范围:[a-z] [0-9]
():匹配子项
转义字符:
\d : 代表是数字
\D : 代表是非数字
\w : 代表是字符(在JS中的正则 字符是指字母、数字、下划线)
\W : 代表是非字符
\s : 代表是空格
\S : 代表是非空格
\. : 代表点 .
\b : 代表起始、结束、空格的部分
\B : 与\b相反