理解正则表达式中顺序环视、逆序环视
浏览:2443次 出处信息
学习正则表达式中,这个顺序环视和逆序环视,搞的比较头晕。
所以,我决定还是写在日志里吧。这样以后回忆起来方便,如果哪里理解错了,路过的朋友们请帮忙指出,谢谢!
所谓顺序环视和逆序环视,首先要理解,这个环视匹配的什么?不是内容,而是位置。并且是位置的前后要匹配对应的内容。这样理解就事半功倍了。
先来看顺序环视,这个顺序说的是从左往右看。这样,一旦使用顺序环视,例如:(?=\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命令 (阅读:6011)
- grep 正则表达式选项要记得转义 (阅读:6031)
- 正则表达式基础 (阅读:5776)
- 正则表达式的与或非 (阅读:5360)
- 学习Grep,Sed中的正则 (阅读:4814)
- URL正则表达式 (阅读:4238)
- PHP 正则里面的两个重要技巧 (阅读:3992)
- 正则表达式简要入门 (阅读:4021)
- 正则转义符汇总 (阅读:3950)
- 正则表达式简介及使用 (阅读:3862)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:Dropbox差异同步算法rsync及其改进算法原理
后一篇:namenode 内部关键数据结构简介 >>
文章信息
- 作者:simaopig 来源: 小小子
- 标签: 正则 逆序环视 顺序环视
- 发布时间:2010-11-22 21:20:28
建议继续学习
近3天十大热文
-
[903] WordPress插件开发 -- 在插件使用 -
[135] 解决 nginx 反向代理网页首尾出现神秘字 -
[56] 整理了一份招PHP高级工程师的面试题 -
[54] Innodb分表太多或者表分区太多,会导致内 -
[54] 如何保证一个程序在单台服务器上只有唯一实例( -
[52] 全站换域名时利用nginx和javascri -
[52] 海量小文件存储 -
[52] CloudSMS:免费匿名的云短信 -
[51] 用 Jquery 模拟 select -
[49] ps 命令常见用法
