`
butterflymacro
  • 浏览: 58707 次
  • 性别: Icon_minigender_1
  • 来自: 山东
社区版块
存档分类
最新评论

javaScript RegExp对象

阅读更多

JavaScript中,正则表达式是由一个RegExp对象表示的.当然,可以使用一个RegExp()构造函数来创建RegExp对象

   正则表达式也可以为包含在一对斜杠(/)之间的字符,所以,RegExp可能会包含如下的代码

   var pattern=/s$/;

如果使用RegExp()也可以定义等价的表达式:

  var pattern = new RegExp("s$");

特殊字符

   javascript 的正则表达式还通过以反斜杠(\)开头的转义序列支持某些非字母字符.

\f  换页符

\n 换行符

\r 回车  \t 制表符   \ /   "/",   \\ "\",  \. ".",\* "*", \+ "+", \? "?", \| "|", \( "(",

\) ")", \[ "[", \] "]"

字符类

  [ ... ]   位于括号之内的任意字符

  [ ^... ] 不在括号之中的任意字符

  .         出来换行符之外的任意字符等价于 [^\n ]

 \w 任何单字字符,等价于 [a-zA-Z0-9]

\W 任何非单字字符,等价于[^a-zA-Z0-9]

\s 任何空白字符 等价于 [\t \n \r \f \v]

\S 任何非空白符 等价于 [^\t \n \r \f \v]

\d 任何数字,等价于 [0-9]

\D 除了数字之外的任何字符,等价于 [^0-9]

3 复制

   /\d{2,4}/   //匹配2到4间的数字

 /\w{3} \d?/ //匹配三个单字字符和一个任意的数字。

/\s+java\s+/ //匹配字符串"Java“,并且该字符的前后可以有一个或者多个空格

/[^"]*/         //匹配零个或多个非引号字符

 

/**

{n,m}  匹配前一项至少n次,但是不能超过m次

{n,} 匹配一项n次,或者多次

{n} 匹配前一项n次

? 匹配零次或者一次 等价于  {0,1}

+ 匹配一次或者多次 {1,}

* 匹配零次或者多次 {0,}

4 分组,引用,选择

   .   |

  /ab|cd|ef/    匹配字符 ab   or  cd or ef 

 /\d{3}|[a-z]{4}/匹配的是要么是一个三位数,要么是四个小写字母

  ()的作用

     1  单独的项目分组

/java(script) ?/ 匹配字符串"Java" 其后可以有script也可以没有

/(ab|cd)+|ef/ 匹配字符串"ef",也可以是字符串"ab"或者"cd"的一次或者多次

     2 完整的模式中定义子模式,当一个正则表达式成功的和目标字符串相匹配时,可以从目标串中抽取和括号中的子模式相匹配

   例如: 假定我们正在检索的模式是一个或多个字母后面跟随一位或多位数字,那么我们可以使用模式/[a-z]+\d+/ 但是由于我们真正关心的是每个匹配尾部的数字,那么我们敬爱那个模式的数字部分放在括号中(/[a-z]+(\d+)/)

5 属性

     / regExp / , 属性是在/符号之外的地方,

   属性i 说明匹配模式应该是大小写不敏感的,属性g 说明模式匹配是全局的 就是找到所有的匹配,而不是在找到第一个之后就停止了

6匹配位置

^ 开始位置

$ 结束位置

\b 匹配的是一个词语的边界,也就是出于一个\w 字符和一个\W非字符之间的边界, \b字符并不指定任何一个匹配的字符串的字符,他们制定的是匹配所发生的合法位置 有时我们称之为锚

 

 

**/

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics