理解正则表达式中顺序环视、逆序环视
浏览:1978次 出处信息
学习正则表达式中,这个顺序环视和逆序环视,搞的比较头晕。
所以,我决定还是写在日志里吧。这样以后回忆起来方便,如果哪里理解错了,路过的朋友们请帮忙指出,谢谢!
所谓顺序环视和逆序环视,首先要理解,这个环视匹配的什么?不是内容,而是位置。并且是位置的前后要匹配对应的内容。这样理解就事半功倍了。
先来看顺序环视,这个顺序说的是从左往右看。这样,一旦使用顺序环视,例如:(?=\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命令 (阅读:5207)
- grep 正则表达式选项要记得转义 (阅读:5075)
- 正则表达式基础 (阅读:4922)
- 正则表达式的与或非 (阅读:4575)
- 学习Grep,Sed中的正则 (阅读:3899)
- URL正则表达式 (阅读:3469)
- 正则表达式简要入门 (阅读:3352)
- PHP 正则里面的两个重要技巧 (阅读:3340)
- 正则表达式简介及使用 (阅读:3178)
- 正则转义符汇总 (阅读:3184)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:Dropbox差异同步算法rsync及其改进算法原理
后一篇:namenode 内部关键数据结构简介 >>
文章信息
- 作者:simaopig 来源: 小小子
- 标签: 正则 逆序环视 顺序环视
- 发布时间:2010-11-22 21:20:28
建议继续学习
近3天十大热文
- [68] 如何拿下简短的域名
- [68] Go Reflect 性能
- [64] Oracle MTS模式下 进程地址与会话信
- [61] 图书馆的世界纪录
- [60] 【社会化设计】自我(self)部分――欢迎区
- [60] IOS安全–浅谈关于IOS加固的几种方法
- [58] android 开发入门
- [53] 视觉调整-设计师 vs. 逻辑
- [48] 读书笔记-壹百度:百度十年千倍的29条法则
- [47] 界面设计速成