IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

理解正则表达式中顺序环视、逆序环视

小小子 2010-11-22 21:20:28 累计浏览 2,808 次
本机暂存

学习正则表达式中,这个顺序环视和逆序环视,搞的比较头晕。

所以,我决定还是写在日志里吧。这样以后回忆起来方便,如果哪里理解错了,路过的朋友们请帮忙指出,谢谢!

所谓顺序环视和逆序环视,首先要理解,这个环视匹配的什么?不是内容,而是位置。并且是位置的前后要匹配对应的内容。这样理解就事半功倍了。

先来看顺序环视,这个顺序说的是从左往右看。这样,一旦使用顺序环视,例如:(?=\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";
}

原图已失效

同分类推荐文章

  1. 对基本有序的序列排序算法 (2026-06-11 17:46:49)
  2. Four Levels Of Customer Understanding (2026-05-22 21:00:00)
  3. 除法的意义 (2026-04-12 20:52:17)

查看更多 算法 文章 →

建议继续学习

  1. 正则表达式 — QQ微信、优酷前端 邮箱正则表达式验证 Bug (累计阅读 6,655)
  2. grep 正则表达式选项要记得转义 (累计阅读 6,589)
  3. 学习Grep,Sed中的正则 (累计阅读 5,406)
  4. URL正则表达式 (累计阅读 4,786)
  5. 前端性能优化之Html压缩 (累计阅读 4,739)
  6. 利用vim(gvim)的正则表达式实现代码自动匹配完成(等号两边数据交换) (累计阅读 4,667)
  7. 正则表达式简要入门 (累计阅读 4,539)
  8. 使用Oracle正则表达式监控应用到数据库的连接情况 (累计阅读 4,448)
  9. 正则转义符汇总 (累计阅读 4,443)
  10. 正则表达式简介及使用 (累计阅读 4,282)