正则表达式基本用法归纳

笔试时一些选择题经常会考到正则表达式,故记录一下基本语法,供自己查阅,至于真正开发用到时现在都有自动生成的,感觉也不用刻意去记。

正则表达式一些基本的语法

一、两个特殊的符号'^'和'$'。他们的作用是分别指出一个字符串的开始和结束,如:

"^The":表示所有以"The"开始的字符串("There","The cat"等);

"of$":表示所以以"of"结尾的字符串;

"^abc$":表示开始和结尾都是"abc"的字符串——呵呵,只有"abc"自己了;

二、常见的还有'*','+'和'?'三个符号,表示一个或一序列字符重复出现的次数。*表示“零个或若干个”,+表示“至少一次或更多”,?表示“零个或者一个”。例子如下:

"ab*":表示一个字符串有一个a后面跟着零个或若干个b。("a", "ab", "abbb",……);

"ab+":表示一个字符串有一个a后面跟着至少一个b或者更多;

"ab?":表示一个字符串有一个a后面跟着零个或者一个b;

"a?b+$":表示在字符串的末尾有零个或一个a跟着一个或几个b。

也可以使用范围,用大括号括起,用以表示重复次数的范围。

"ab{2}":表示一个字符串有一个a跟着2个b("abb");

"ab{2,}":表示一个字符串有一个a跟着至少2个b;

"ab{3,5}":表示一个字符串有一个a跟着3到5个b。

即'*','+'和'?'相当于"{0,}","{1,}"和"{0,1}"

注意,用大括号时必须指定范围的下限(如:"{0,2}"而不是"{,2}")。

三、符号'¦',表示“或”操作:

"hi¦hello":表示一个字符串里有"hi"或者"hello";

"(b¦cd)ef":表示"bef"或"cdef";

"(a¦b)*c":表示一串"a""b"混合的字符串后面跟一个"c";

4)符号'.'可以替代任何字符:

"a.[0-9]":表示一个字符串有一个"a"后面跟着一个任意字符和一个数字;

"^.{3}$":表示有任意三个字符的字符串(长度为3个字符);

5)方括号表示某些字符允许在一个字符串中的某一特定位置出现:

"^[a-zA-Z]":表示一个以字母开头的字符串;

"[0-9]%":表示一个百分号前有一位的数字;

",[a-zA-Z0-9]$":表示一个字符串以一个逗号后面跟着一个字母或数字结束。

注:

1、也可以在方括号里用'^'表示不希望出现的字符,'^'应在方括号里的第一位。(如:"%[^a-zA-Z]%"表示两个百分号中不应该出现字母)。

2、必须在符号^.$()¦*+?{\这些字符前加上转移字符'\'。但在方括号中,不需要转义字符。

四、\w:用于匹配字母,数字或下划线字符

如:"^\w+$" //由数字、26个英文字母或者下划线组成的字符串

五、\d:用于匹配从0到9的数字;

如:"^-?\\d+$" //整数

六、 \/ :表示字符“/”

 

上一篇:ccf练习题15. 字频统计


下一篇:不等式