理解正则表达式中顺序环视、逆序环视
浏览:2556次 出处信息
学习正则表达式中,这个顺序环视和逆序环视,搞的比较头晕。
所以,我决定还是写在日志里吧。这样以后回忆起来方便,如果哪里理解错了,路过的朋友们请帮忙指出,谢谢!
所谓顺序环视和逆序环视,首先要理解,这个环视匹配的什么?不是内容,而是位置。并且是位置的前后要匹配对应的内容。这样理解就事半功倍了。
先来看顺序环视,这个顺序说的是从左往右看。这样,一旦使用顺序环视,例如:(?=\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命令 (阅读:6144)
- grep 正则表达式选项要记得转义 (阅读:6176)
- 正则表达式基础 (阅读:5891)
- 正则表达式的与或非 (阅读:5491)
- 学习Grep,Sed中的正则 (阅读:4973)
- URL正则表达式 (阅读:4392)
- PHP 正则里面的两个重要技巧 (阅读:4086)
- 正则表达式简要入门 (阅读:4151)
- 正则转义符汇总 (阅读:4087)
- 正则表达式简介及使用 (阅读:3978)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:Dropbox差异同步算法rsync及其改进算法原理
后一篇:namenode 内部关键数据结构简介 >>
文章信息
- 作者:simaopig 来源: 小小子
- 标签: 正则 逆序环视 顺序环视
- 发布时间:2010-11-22 21:20:28
建议继续学习
近3天十大热文
-
[328] WordPress插件开发 -- 在插件使用 -
[151] 解决 nginx 反向代理网页首尾出现神秘字 -
[91] IOS安全–浅谈关于IOS加固的几种方法 -
[50] 二维码的生成细节和原理 -
[50] Linux Used内存到底哪里去了? -
[49] Hacker News 排名算法工作原理 -
[48] Shell的那些事儿 -
[48] 到底什么是MVC? -
[47] 中间件和稳定性平台 -
[46] 浏览器的工作原理:新式网络浏览器幕后揭秘
