javascript 正则表达式

1.重复
     
     
     符号*表示0次或者多次重复
          + 号表示1次或者多次重复
          ?表示匹配0次或者一次

     2.选择和分组
     
     正则表达式还支持分组和引用,我们可以通过()括号来对正则表达式进行分组,分组的表达式模式有两个作用,一是可以让重复模式作用于整个组而不是单一字符,另一个是可以用特殊序列来对其进行引用。
除了分组转义引用外,在javascript程序中我们还可以通过特殊的$n在表达式外部对子串进行访问。

     3.指定位置的匹配
     
          ^ 表示字符串的开头
          $ 表示字符串的结尾
          \b 表示单词的边界/^[Jj]avascript\b/ 匹配 " javascript is language" 不匹配 " javascript:alert('dd')"
          如果符号(?=和)之间加入一个表达式,他就是一个向前的声明,表示前面匹配的字符必须在接下来的表达式的位置之前
          
     4.高级模式匹配规则
     
     g表示是全局匹配,找出被检索的字符串的所有匹配
     i表示忽略大小写
     m表示说明进行多模式匹配的,针对多行字符串匹配每行的内容
     正则表达式最大的用途是用于文本地模式匹配,包括文本的查找、替换、格式化。
     String对象有四种支持正则表达式的方法,分别是,search(),replace(),match(),splite().
     search方法已正则表达式作为参数,返回第一个与之匹配的子串开始的位置,如果没有与之匹配的子串则返回-1。
     
     replace方法如果第一个参数是正则表达式,第二个是要替换的字符串或者闭包。他检索调用它的子串,根据匹配模式进行替换,如果有g标志他会全文替换,负责只替换的一个,尤其是带上闭包时功能更强大 
     match()方法唯一一个参数是正则表达式,它的行为取决于正则表达式的标志,如果包含标志g,他的返回值就包含了出现在字符串中的所有匹配的数组,如果该标志不包含标志g,他也返回一个数组,它的第一个元素是匹配的字符串,如下的元素是正则表达式中的各个分组。

     5.用于模式匹配的RegExp方法
     RegExp 对象定义了两个用于模式匹配的方法,他们是exec()和test().
     
     RegExp的exec()方法和String的match()方法很类似,他对一个指定的字符串执行一个正则表达式匹配,如果没有找到返回null,否则返回一个数组,这个数组的第一个元素包含的是与正则表达式相匹配的字符串,余下的所有元素包含的是匹配的各个分组。
     RegExp的text()方法遍历字符串,她从lastIndex位置开始遍历检索特定的字符串,如果匹配就返回lastIndex位置,否则返回0。

     6.正则表达式包转对象
     
     正则表达式还支持RegExp对象的形式,这种形式被称为正则表达式的包装对象。
     
     RegExp接收两个参数,第一个是表达式的模式匹配字符串,另一个是表示正则表达式的标志字符串。
     
     在前面说过,正则表达式支持分组,分组的正则表达式子项不但可以,不但可以在正则表达是的内部匹配的字符传中出现,还可以获
得匹配子项的结果
           
posted @ 2011-03-16 17:28  dushaobin  Views(302)  Comments(0Edit  收藏  举报