正则表达式学习笔记(一)——字符匹配

一.匹配单个字符

0.用途

正则表达式是一种工具,主要用途是搜索变化多端的文本,匹配到我们想要的信息。

1.匹配纯文本

文本

Hello,my name is rainyn

正则表达式

rainyn

结果

Hello,my name is rainyn

 

2.匹配任意字符

  . 匹配任意单个字符

文本

Hust

Wust

Whu

Hust1

Whu1

Hust2.zks

Whu.tzgg

正则表达式

Hust

结果

Hust

Wust

Whu

Hust1

Whu1

Hust2.zks

Whu.tzgg

分析:

能将Hust+一个字符给匹配出来,一个 . 代表任何单个字符、字母、数字、甚至是本身,可以组合使用,例如

正则表达式

.u..

匹配结果

Hust

Wust

Whu

Hust1

Whu1

Hust2.zks

Whu.tzgg

分析:能匹配 u的前面一个字符+u+后面两个字符

3.匹配特殊字符

  转义字符 \

  例如匹配 . 使用\.  ;匹配\ 使用 \\

二.匹配一组字符

1.匹配多个字符中的某一个

使用[]可以匹配多个字符中的某一个

例如,匹配abc中的某一个字符,可以[abc]

 文本

na1

na2

sa1

ca1

abmd

正则表达式

[ns]a.

结果

na1

na2

sa1

ca1

abmd

分析: 以[ns]开头,这个集合将匹配字符n或s(不匹配其他字符)。

字符集合在不需要区分大小写的搜索里比较常见,


文本

I like Eating ice creams,but Ican’t eat too much

正则表达式

[Ee]at

结果

I like Eatingice creams,but I can’t eat too much


分析: [Ee]匹配E或者e,at匹配at.这个模式可以匹配Eat或者eat ,但是不能匹配EAT

 2.利用字符区间

例如

[0123456789]可以写成[0-9]

常见合法区间

[A-Z]

匹配从A到Z的所有大写字母

[a-z]

匹配从a到z的所有小写字母

[A-z]

匹配所有从ASCII字符A到ASCII字符z,中间还包括一些其他的字符,例如],[,/,^等字符,不常用

[A-Za-z0-9]

匹配大写A-Z,小写a-z,数字0-9的任意一个

 

 

3.取非

[^0-9]   匹配任何不是数字的字符

posted @ 2017-10-14 19:49  Rainyn  阅读(223)  评论(0编辑  收藏  举报