码迷,mamicode.com
首页 > 其他好文 > 详细

关于正则表达式

时间:2016-08-05 00:44:09      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

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

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

2.特殊字符的含义:“ \b “ 代表单词的开头或者结尾,也就是单词的分界处。\bhi\b这样就能精确找到hi这个单词;

         “ . ” 匹配除了换行符以外的任意字符;

         “ * ”’前边的内容可以连续重复使用任意次以使整个表达式得到匹配。

         “ \d ”匹配一位数字(0,或1,或2,或……)

         “ - ”不是元字符,只匹配它本身-。

            例子:0\d\d-\d\d\d\d\d\d\d\d ---------》0\d{2}-\d{8}这样更简单。

         “ \s ”匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。

         “ \w ”匹配字母或数字或下划线或汉字等。

         “ ^ ” 匹配字符串的开始。

         “ $ ”匹配字符串的结束。

            例子:^\d{5,12}$ 匹配5-12个数字

         “ + ” +是和*类似的元字符,不同的是*匹配重复任意次(可能是0次),而+则匹配重复1次或更多次。

        “ \ ” 如果你想查找元字符本身的话,比如你查找.或者*就出现了问题:你没办法指定它们,因为它们会被解释成别的意思。
           这时你就得使用\来取消这些字符的 特殊意义。因此,你应该使用\.和\*。当然,要查找\本身,你也得用\\.

            例子:例如:deerchao\.net匹配deerchao.net,C:\\Windows匹配C:\Windows。

        “ ? ” 重复零次或一次。

        “ {n}” 重复n次。

        “ {n,}” 重复n次或更多次。

        “ {n,m}” 重复n到m次。

            例子:[aeiou]就匹配任何一个英文元音字母;[.?!]匹配标点符号(.或?或!);
               [0-9]代表的含意与\d就是完全一致的:一位数字;[a-z0-9A-Z_]也完全等同于\w(如果只考虑英文的话)

----------------------------------------------------------------------------------------------------------------------------------------------------------------

3.分枝条件:正则表达式里的分枝条件指的是有几种规则,如果满足其中任意一种规则都应该当成匹配,具体方法是用|把不同的规则分隔开。
                 匹配分枝条件时,将会从左到右地测试每个条件,如果满足了某个分枝的话,就不会去再管其它的条件了。

---------------------------------------------------------------------------------------------------------------------------------------------------------------

4.分组:用小括号来指定子表达式。                                                                                                                                                                               例子:(\d{1,3}\.){3}\d{1,3}  \d{1,3}匹配1到3位的数字,(\d{1,3}\.){3}匹配三位数字加上一个英文句号(这个整体也就是这个分组)重复3                     次,最后再加上一个一到三位的数字(\d{1,3})。

---------------------------------------------------------------------------------------------------------------------------------------------------------------

5.反义:有时需要查找不属于某个能简单定义的字符类的字符。比如想查找除了数字以外,其它任意字符都行的情况,这时需要用到反义。                                                \W:匹配任意不是字母,数字,下划线,汉字的字符 。 \S:匹配不是任意不是空白符的字符。                                                                                          \D:匹配任意非数字字符。         \B:匹配不是单词开头或者结束的字符。   

 --------------------------------------------------------------------------------------------------------------------------------------------------------------

  还有一些更加负载的语法就不抄了,看的蛋疼.....

关于正则表达式

标签:

原文地址:http://www.cnblogs.com/lss-bk/p/5738955.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!