JavaScript 的正则表达式和例子

JavaScript 的正则表达式和例子

在Java 的API中有一个舍去前后空白字符串的方法trim()

我们在JavaScript 中找不到该方法,我们可以写一个函数来实现去掉字符串的前后空白。

这个函数是:


String.prototype.Trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); }

function ppp(){
var a="     888     ";
alert(a.Trim());
}

这个例子中去掉了888 前后的空白

下面对这个例子进行更详细解释:

首先: replace(  ,"")函数就是用后面的空字符串,在替换前面所指定的字符
/(^\s*)|(\s*$)/g, ""


/是正则表达式匹配的语法:

正则表达式对象说明
语法1:
      var regularexpression=/pattern/[switch]

 语法  2  
        var   regularexpression   =   new   RegExp("pattern",["switch"])     


  正则表达式对象语法参数有以下部分:    
  ___________________________________________________________________  
  参数部分       |     描述    
  -------------------------------------------------------------------  
  pattern             |   必需的。要使用的正则表达式模式,例如使用替换方法replace  
                          |   时,就是要替换的文本。
                          |  语法   1,用   "/"   字符分隔模式。   
                          |   语法      2,用引号将模式引起来。    
  -------------------------------------------------------------------  
  switch             |   可选项。语法  2   要用引号将   switch   引起来。可选的开  
                        |   关选项有:  
                        |       i   (忽略大小写)  
                        |       g   (全文查找出现的所有   pattern)  
                        |       gi   (全文查找、忽略大小写)  
  -------------------------------------------------------------------   


  语法1 当预先知道查找字符串时用
  语法 2 当查找字符串经常变动或不知道时用,比如由用户输入得到的字符串。  

在使用前   pattern   参数被编译为内部格式。
对语法   1   来说,pattern   在该脚本被装载时被编译。
对语法   2   来说,pattern   在使用前,或调用   compile   方法时被编译。  



正则表达式的语法表:

字符     |                                           描述    
  ----------------------------------------------------------------  
  \           |     标记下一个字符是特殊字符或文字。例如,"n"   和字符   "n"   匹配。  
              |     "\n"   则和换行字符匹配。序列   "\\"   和   "\"   匹配,而   "\("   则  
              |     和   "("   匹配。    
  ----------------------------------------------------------------  
  ^           |     匹配输入的开头。    
  ----------------------------------------------------------------  
  $           |     匹配输入的末尾。    
  ----------------------------------------------------------------  
  *           |     匹配前面的子表达式零或多次。例如,"zo*"   与   "z"   或   "zoo"   匹配。等价于                  {0,}    
  ----------------------------------------------------------------  
  +           |     匹配前面的子表达式一次或多次。例如,"zo+"   与   "zoo"   匹配,但和   "z"    
               |     不匹配。      
  ----------------------------------------------------------------  
  ?           |     匹配前一个字符零或一次。例如,"a?ve?"   和   "never"   中的   "ve"   匹  
              |     配。      
  -----------------------------------------------------------------  
  .           |   匹配除换行字符外的任何单个字符。      
  -----------------------------------------------------------------  
  (pat-   |     匹配   pattern   并记住该匹配。匹配上的子字符串,可以使用   Item    
  tern)   |     [0]...[n],来从生成的   Matches   集合中取回。要匹配圆括号字  
              |     符   (   ),则需使用   "\("   或   "\)"。    
  -----------------------------------------------------------------  
  x|y       |     匹配   x   或   y。例如,"z|food"   和   "z"   或   "food"   匹配。"(z|f)  
              |     ood"   匹配   "zoo"   或   "food"。      
  -----------------------------------------------------------------  
  {n}       |   n   是非负整数。共匹配   n   次。例如,"o{2}"   和   "Bob"   中的   "o"   不匹  
              |   配,但和   "foooood"   中的前两个   o   匹配。    
  -----------------------------------------------------------------  
  {n,}     |   n   是一个非负整数。至少匹配   n   次。例如,"o{2,}"   和   "Bob"   中  
              |     的   "o"   不匹配,但和   "foooood"   中的所有   o   匹配。"o{1,}"    
              |   与   "o+"   等效。"o{0,}"   和   "o*"   等效。    
  -----------------------------------------------------------------  
  {n,m}   |   m   和   n   是非负整数。至少匹配   n   次而至多匹配   m   次。例如,"o  
              |     {1,3}"   和   "fooooood"   中的前三个   o   匹配。"o{0,1}"   和   "o?"   等  
              |   效。    
  -----------------------------------------------------------------  
  [xyz]   |   字符集合。匹配括号内的任一字符。例如,"[abc]"   和   "plain"   中  
              |   的   "a"   匹配。    
  -----------------------------------------------------------------  
  [^xyz]|   否定字符集合。匹配非括号内的任何字符。例如,"[^abc]"    
              |     和   "plain"   中的   "p"   匹配。      
  -----------------------------------------------------------------  
  [a-z]   |   字符范围。和指定范围内的任一字符匹配。例如,"[a-z]"   匹配   "a"    
              |   到   "z"范围内的任一小写的 字母 表字符。      
  -----------------------------------------------------------------  
  [^m-z]|   否定字符范围。匹配不在指定范围内的任何字符。例如,"[m-z]"   匹配不  
              |   在   "m"   到   "z"范围内的任何字符。      
  -----------------------------------------------------------------  
  \b         |   匹配字的 边界 ,也就是说,在字和空格之间的位置。例如,"er\b"    
              |   和   "never"   中的   "er"   匹配,但和   "verb"   中的   "er"   不匹配。      
  -----------------------------------------------------------------  
  \B         |   匹配非字边界。"ea*r\B"   和   "never   early"   中的   "ear"   匹配。      
  -----------------------------------------------------------------  
  \d         |   匹配数字字符。等价于   [0-9]。      
  -----------------------------------------------------------------  
  \D         |   匹配非数字字符。等价于   [^0-9]。      
  -----------------------------------------------------------------  
  \f         |   匹配换页字符。      
  -----------------------------------------------------------------  
  \n         |   匹配换行字符。      
  -----------------------------------------------------------------  
  \r         |   匹配回车符字符。      
  -----------------------------------------------------------------  
  \s         |匹配任何空白,包括空格、制表、换页等。与   "[   \f\n\r\t\v]"   等效。    
  -----------------------------------------------------------------  
  \S         |   匹配任何非空白字符。与   "[^   \f\n\r\t\v]"   等效。      
  -----------------------------------------------------------------  
  \t         |   匹配制表字符。      
  -----------------------------------------------------------------  
  \v         |   匹配垂直制表符。      
  -----------------------------------------------------------------  
  \w         |   匹配包括下划线在内的任何字字符。与   "[A-Za-z0-9_]"   等效。      
  -----------------------------------------------------------------  
  \W         |   匹配任何非字字符。与   "[^A-Za-z0-9_]"   等效。      
  -----------------------------------------------------------------  
  \num     |   匹配   num,其中   num   是一个正整数。返回记住的匹配的引用。例  
              |   如,"(.)\1"   匹配两个连续的同一字符。      
  -----------------------------------------------------------------  
  \n         |   匹配   n,其中   n   是八进制换码值。八进制换码值必须是   1、2、或   3   位  
              |   长。例如,"\11"   和   "\011"   都匹配制表字符。"\0011"   和   "\001"    
              |   &   "1"   是等效的。八进制换码值必须不超过   256。如果超过了,则只有  
              |   前两位组成表达式。允许在正则表达式中使用   ASCII   码。    
  -----------------------------------------------------------------  
  \xn       |   匹配   n,其中   n   是十六进制换码值。十六进制换码值必须正好是两位  
              |   长。例如,"\x41"   与   "A"   匹配。"\x041"   和   "\x04"   &   "1"   是等效  
              |   的。允许在正则表达式中使用   ASCII   码。    
  -----------------------------------------------------------------  
删除代码前面的行号的:^\d{1,3}











你可能感兴趣的:(JavaScript 的正则表达式和例子)