15.2.7 正则表达式构建实例
本节将综合以上几小节知识,通过对一些正则表达式的构成分析,来进一步理解以上几小节学习到的知识等。另外,举一些实例,来学习如何创建一个正则表达式。下面先分析几个比较简单的正则表达式。
❑ab*:和ab{0,}同义,匹配以a开头,后面可以接0个或者n个b组成的字符串,如a、ab、abbb等。
❑ab+:和ab{1,}同义,但最少要有1个b存在,如ab、abbb等。
❑ab?:和ab{0,1}同义,可以没有或者只有1个b,如a、ab。
❑a?b+$,匹配以1个或者0个a再加上1个以上的b为结尾的字符串,如ab、abb等。
以上几个正则表达式示例,只是匹配单一字符,如果想匹配多个字符,可以使用()将需要匹配的字符括住。下面是几个示例正则表达式。
❑a(bc)*:匹配a后面跟0个或者1个bc的字符串。如该模式可以匹配a、abc、abcbc等。
而使用中括号括住的内容只能匹配一个字符。如下面的示例正则表达式所示。
❑[ab]:匹配单个的a或者b,该模式和a│b同义。如匹配a、b。
❑[a-d]:匹配a到d的单个字符,该模式和a│b│c│d及[abcd]同义。
下面看几个稍微复杂的正则表达式。
❑^[a-zA-Z_]$:匹配所有的只有字母和下划线的字符串。这里之所以在模式开头加上^、在模式结尾加上$,是为了匹配只含有字母和下划线的字符串,因为,如果不加^和$,那么凡是含有字母和下划线的字符串均会被匹配。
❑^[a-zA-Z0-9_]{1,}$:匹配所有包含一个以上的字母、数字或下划线的字符串。
❑^[0-9]{1,}$:匹配所有的正数。
❑^\-{0,1}[0-9]{1,}$:匹配所有的整数。含负数,在负号前加了转义符号\。
❑^\-{0,1}[0-9]{0,}\.{0,1}[0-9]{0,}$:匹配所有的小数。
共有条评论 网友评论