理解正则表达式中顺序环视、逆序环视
浏览:1991次 出处信息
学习正则表达式中,这个顺序环视和逆序环视,搞的比较头晕。
所以,我决定还是写在日志里吧。这样以后回忆起来方便,如果哪里理解错了,路过的朋友们请帮忙指出,谢谢!
所谓顺序环视和逆序环视,首先要理解,这个环视匹配的什么?不是内容,而是位置。并且是位置的前后要匹配对应的内容。这样理解就事半功倍了。
先来看顺序环视,这个顺序说的是从左往右看。这样,一旦使用顺序环视,例如:(?=\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命令 (阅读:5039)
- grep 正则表达式选项要记得转义 (阅读:4930)
- 正则表达式基础 (阅读:4704)
- 正则表达式的与或非 (阅读:4454)
- 学习Grep,Sed中的正则 (阅读:3782)
- URL正则表达式 (阅读:3365)
- 正则表达式简要入门 (阅读:3235)
- PHP 正则里面的两个重要技巧 (阅读:3184)
- 正则表达式简介及使用 (阅读:3078)
- 正则转义符汇总 (阅读:3085)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:Dropbox差异同步算法rsync及其改进算法原理
后一篇:namenode 内部关键数据结构简介 >>
文章信息
- 作者:simaopig 来源: 小小子
- 标签: 正则 逆序环视 顺序环视
- 发布时间:2010-11-22 21:20:28
建议继续学习
近3天十大热文
- [13] 谈谈Facebook的聊天系统架构
- [12] 手机客户端交互适配设计之我见
- [10] 浅析韩国团购网站
- [10] PDC 2010:C#与Visual Bas
- [10] 韩国实名制的破产
- [9] 强者生存论
- [9] Oracle bbed工具的编译
- [9] 长假,回忆小时候的家庭教育点滴
- [8] 学做程序经理
- [8] Facebook性能大提升的秘密:HipHo