正则表达式

正则表达式是基于样式匹配的文件处理技术的关键,也是用于绝大多数文本处理工具的一种语言。


正则表达式基础:

正则表达式
                     描述
         例子
^
行起始标记
^ca   :匹配以ca起始的行
$
行尾标记
ca$   :匹配以ca结尾的行
.
一定有一个任意字符
ca.    :匹配cat,caa,cae等等,但不能匹配cata,即只能匹配单个字符
[]
匹配包含在括号内的任意一个字符
c[ab]t   :匹配cat或者cbt
[^]
匹配除了括号内的任意一个字符
9[^01]  :匹配92,93,但是不匹配90,91
[-]
匹配[]中制定范围的任意一个字符
[a-z]     :匹配从a到z任意一个字符
\
转义符号,可将这些特殊字符转义
a\.b      :匹配a.b这个字符串而不是ajb,akb等等,忽略.的特殊意义
*
匹配之前的一个字符0次或多次
co*l      :匹配cl,col,cool,coool等等
\{n,m\}
匹配n到m次前一个字符
go\{2,3\} :匹配g之后2个到3个o,即goo,gooo

匹配之前的项0次或者1次
colou?r   :匹配color或colour,不能匹配colouur
+
匹配之前的项1次或者多次
go+d    :匹配god,good,goood等等
|
匹配两边任意一项
gd|good   :匹配出gd或者good
()
匹配一个用于匹配的子串
g(la|oo)d  :匹配glad或者good


POSIX标准

[:alnum:]

代表英文大小写字符以及数字,即0-9,a-z,A-Z

[:alpha:]
代表任何英文大小写字符,即A-Z,a-z
[:blank:]
代表空格和tab键
[:digit:]
代表数字,即0-9
[:lower:]
代表小写字符,即a-z
[:upper:]
代表大写字符,即A-Z
[:punct:]
标点符号
[:space:]
包括回车,换行符等所有空白字符


几个例子:

匹配所有的单词     ?[a-zA-Z]+?

匹配一个ip地址      [0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}


你可能感兴趣的:(字符串,正则表达式)