理解正则表达式中顺序环视、逆序环视
浏览:1985次 出处信息
学习正则表达式中,这个顺序环视和逆序环视,搞的比较头晕。
所以,我决定还是写在日志里吧。这样以后回忆起来方便,如果哪里理解错了,路过的朋友们请帮忙指出,谢谢!
所谓顺序环视和逆序环视,首先要理解,这个环视匹配的什么?不是内容,而是位置。并且是位置的前后要匹配对应的内容。这样理解就事半功倍了。
先来看顺序环视,这个顺序说的是从左往右看。这样,一旦使用顺序环视,例如:(?=\d) 其说的就是位置的右侧有一个数字。也就是说在一个数字前面的位置。
这样理解下来,再来看逆序环视,这个顺序是从右往左看。这样一旦使用逆序环视,例如:(?<=\d) 其说的就是位置的左侧有一个数字。也就是说在一个数字后面的位置。
简单理解清楚了,那么就可以按照书中的为美元加逗号描述了,代码如下:
(我们的美元逗号是如下规则:左侧一定要有数字,逗号的所在位置右侧一定有三个数字)
print "Please input a number \n";
$input = <STDIN>;
chomp($input);
if( $input =~ m(\d+)){
$input =~ s/(?<=\d)(?=(\d\d\d)+$)/,/g;
print "output is $input \n";
} else {
print "You must input a number \n";
}
$input = <STDIN>;
chomp($input);
if( $input =~ m(\d+)){
$input =~ s/(?<=\d)(?=(\d\d\d)+$)/,/g;
print "output is $input \n";
} else {
print "You must input a number \n";
}
建议继续学习:
- 统计最近用过的linux命令 (阅读:5031)
- grep 正则表达式选项要记得转义 (阅读:4921)
- 正则表达式基础 (阅读:4691)
- 正则表达式的与或非 (阅读:4449)
- 学习Grep,Sed中的正则 (阅读:3778)
- URL正则表达式 (阅读:3358)
- 正则表达式简要入门 (阅读:3224)
- PHP 正则里面的两个重要技巧 (阅读:3173)
- 正则表达式简介及使用 (阅读:3069)
- 正则转义符汇总 (阅读:3080)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:Dropbox差异同步算法rsync及其改进算法原理
后一篇:namenode 内部关键数据结构简介 >>
文章信息
- 作者:simaopig 来源: 小小子
- 标签: 正则 逆序环视 顺序环视
- 发布时间:2010-11-22 21:20:28
建议继续学习
近3天十大热文
- [107] Go Reflect 性能
- [14] 基于HTTP缓存轻松实现客户端应用的离线支持
- [14] 在JavaScript中什么时候使用==是正
- [14] 我的git笔记
- [13] osx平台上lol英雄联盟launcher启
- [13] 公钥私钥加密解密数字证书数字签名详解
- [11] 正态分布的前世今生(一)
- [11] Joomla反序列化漏洞的查漏补缺
- [11] Linux内存中的Cache真的能被回收么?
- [10] 相似度计算之马氏距离