`
argel_lj
  • 浏览: 357179 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js之正则表达式

阅读更多

what ?

   

    在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。

 

    正则表达式由一些普通字符和一些元字符(metacharacters)组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义。如表一: 

   

 

表1.常用的元字符

 

元字符说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束

how?

    一、正则表达式中的限定符(指定数量的代码)

   

表2.常用的限定符 代码/语法说明
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次

 

     二、字符类的匹配

     字符类的匹配用[],例如:

     [aeiou]就匹配任何一个英文元音字母[.?!]匹配标点符号(.或?或!);

     也可以轻松指定一个字符范围,如[0-9]代表的含意与\d就是完全一致的:一位数字。

 

     三、分支条件

     正则表达式里的分枝条件指的是有几种规则,如果满足其中任意一种规则都应该当成匹配,具体方法是用" | "把不同的规则分隔开。例如:

     \d{5}-\d{4}|\d{5} 表示5位数字,或用连字号间隔的9位数字(美国的邮政编码)

 

     四、分组

    用小括号来指定子表达式(也叫做分组),这样就可以对括号中的整体进行操作了。

 

     五、反义

    有时需要查找不属于某个能简单定义的字符类的字符。比如想查找除了数字以外,其它任意字符都行的情况,这时需要用到反义

 

表3.常用的反义代码

 

代码/语法说明
\W 匹配任意不是字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符

 

     六、未完待续

               ...

 

   

 

     七、属性

      属性是在 / 符号之外说明的,例如:/ 字符 /g

      字符 含义 
      i  执行大小写不敏感的匹配
      g 执行一个全局的匹配,简而言之,就是找到所有的匹配,而不是在找到第一个之后就停止了

cookies:

 

1 正则表达式是大小写敏感的;

2 查找元字符本身,要用到转义字符" \ ";

3 使用分支条件时要注意各个条件的顺序,因为匹配分枝条件时,将会从左到右地测试每个条件,如果满足了某个分枝的话,就不会去再管其它的条件了;

 

  

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics