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

正则表达式

时间:2016-02-02 22:30:13      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:

. :匹配任意单个字符;

[]:匹配指定范围内的任意单个字符;

[^]:匹配指定范围外的任意单个字符;

*:匹配其前面的字符任意次;0,1,多次;

.*:匹配任意长度的任意字符

\?:匹配其前面的字符0次或1次;即其前面的字符是可有可无的;

\+:匹配其前面的字符1次或多次;即其面的字符要出现至少1次;

\{m\}:匹配其前面的字符m次;

\{m,n\}:匹配其前面的字符至少m次,至多n次;

\{0,n\}:至多n次

\{m,\}:至少m次

匹配次数:用在要指定其出现的次数的字符的后面,用于限制其前面字符出现的次数;默认工作于贪

婪模式;

 

位置锚定:

^:行首锚定;用于模式的最左侧;

$:行尾锚定;用于模式的最右侧;

^PATTERN$:用于PATTERN来匹配整行;

^$:空白行;

^[[:space:]]*$:空行或包含空白字符的行;

 

单词:非特殊字符组成的连续字符(字符串)都称为单词;

\< 或 \b:词首锚定,用于单词模式的左侧;

\> 或 \b:词尾锚定,用于单词模式的右侧;

\<PATTERN\>:匹配完整单词;

 

分组及引用

\(\):将一个或多个字符捆绑在一起,当作一个整体进行处理;

\(xy\)*ab

Note:分组括号中的模式匹配 到的内容会被正则表达式引擎自动记录于内部的变量中,这些变量

为:

\1:模式从左侧起,第一个左括号以及与之匹配的右括号之间的模式所匹配到的字符;

\2:模式从左侧起,第二个左括号以及与之匹配的右括号之间的模式所匹配到的字符;

\3

...


He loves his lover.

He likes his lover.

She likes her liker.

She loves her liker.


~]# grep "\(l..e\).*\1" lovers.txt


后向引用:引用前面的分组括号中的模式所匹配到的字符;

 

正则表达式

标签:

原文地址:http://www.cnblogs.com/wangmo/p/5178614.html

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