码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式简明学习(一)

时间:2015-05-26 10:39:31      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:

 

WAHT

正则表达式 描述 一些规则,而这些规则通过规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式,用来查找和匹配字符串,

hi 

这个简单的字符串就是一个正则表达式,精确匹配 hi 这个单词,但我们不仅仅需要找到这个 hi,还要找到一个单独 hi 的单词,或是含有 hi 的字符的一个单词.那么我们就需要 元字符(metacharacter)

元字符

元字符是正则表达式规定的特殊代码,使用一个或是一组规定好的字符代替某些字符,这里的规定好的字符类似的有* ,. ,\b...,而某些字符可能时一个特殊字符,像一个空格‘ ‘,或是一段任意字符.先来一个表,再解释

常用的元字符代码说明
没有匹配任何字符,代表任意次数出现的模式,用来修饰前导字符
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束

. & *

是不是对 * 的感觉很诡异,什么任意次数,让我们把它和 .放在一起考虑, . 匹配除换行符以外的任意字符,而将.*则匹配不包含换行符的任意长度的字符串

\b

英文中是以空格作为分离单词的标志,而\b则匹配一个这样一个分割单词的位置

来个实例: \bhi\b.*\bword\b

寻找一下在包含 hi 和 word 两个单词的句子,并且还在一行

####\d
匹配数字,没错它只匹配数字

来个实例: 0\d\d-\d\d\d\d\d\d\d\d

以0开头,然后是两个数字,然后是一个连字号“-” ,最后是8个数字

来个实例: \b\w{6}\b

匹配刚好6个字符的单词,知道了码,\w匹配的东西字符,数字,和下划线这些都是组成 单词的必要东西,所以一般用它匹配某个单词,而 {8},就是前导字符的修饰,和  类似,不过是指明了到底匹配了几次

^ $

^ 用来匹配 查找字符串的开头
$ 用来匹配 查找字符串的结尾
这两者和 \b 类似,都用来匹配字符串的某一个位置,而不是实际的一个字符

来个实例: ^\d{5,12}$

匹配长度为 5-12 的数字

字符转义

如果你学过 c或是任何一门语言,他们都有采用特定字符控制输出的功能,而为了输出这些特定字符,就会利用到字符转义, 正则表达式也对 元字符 确定了一个字符转义的规则
加 \,例如 \变为\\,.变为\.,以此类推

重复

这里的重复不是单指一个特定字符的重复,也指不同字符出现的重复

代码/语法说明
*? 重复任意次,但尽可能少重复
+? 重复1次或更多次,但尽可能少重复
?? 重复0次或1次,但尽可能少重复
{n,m}? 重复n到m次,但尽可能少重复
{n,}? 重复n次以上,但尽可能少重复

### 来个实例:Windows\d+

匹配Windows后面跟1个或更多数字

字符类

为了控制和表达更多的字符,引入了字符类,他是一个字符集合,使用[,]将其括起来。
在正则表达式中就充当一个元组
例如 [.?!]匹配标点符号(.或?或!),[aeiou]就匹配任何一个英文元音字母.

 

正则表达式简明学习(一)

标签:

原文地址:http://www.cnblogs.com/dilidingzhi/p/4529817.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!