首页 > 代码库 > 笔记-[正则]-正则表达式的总结.

笔记-[正则]-正则表达式的总结.

在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相反