正则表达式模块re

正则表达式通过特定的式子匹配某种类型的字符串。对字符串进行匹配验证或者从大量的字符串里提取出特定的信息。

正则表达式包含普通字符和特殊字符。大部分的普通字符如‘A’或‘0’可以简单的来匹配自己。如text可以匹配‘text’。特殊字符,可以来匹配一组字符串,或者来说明字符的用法。

特征字符包括:

. 匹配任意一个字符除了\,如cabcd中ab.可以匹配abc

$ 匹配字符串的结束位置。(如果设置了RegExp对象的Multiline属性,$也匹配“\n”之前的位置),如123folked中fol匹配folked,而fol$匹配fol

^ 匹配字符串的开始位置(如果设置了RegExp对象的Multiline属性,^也可以匹配“\n”之后的位置)

* 匹配0或者多次前面的子表达式,例如:ab*匹配a,ab或者a后接任意个b

+ 匹配1或者多次前面的子式,例如ab+匹配a接大于0个b,所以不能仅匹配a

? 匹配0或者1次前面的子式,例如ab?匹配a或者ab

*?,*?,??是贪婪的,最大化的匹配,例如,要匹配<h1>abdd<\h1>中的<h1>,当使用正则表达式为<.*>时匹配到结果是<h1>abdd<\h1>,加上?后可以使匹配最小化。<.*?>可以匹配<h1>

{m}匹配将子式重复m次后的字符串。例如:a{3}匹配aaa,而不能匹配其它次数个a。

{m,n}匹配m到n次前面的子式。A{3,}b匹配AAAb,或者匹配一百次a一个b。

{m,n}?匹配最小化模式,A{3,5}b对AAAAAAb,匹配为AAAb。

posted @ 2014-03-14 19:42  ps龙之吻  阅读(410)  评论(0编辑  收藏  举报