Learning Perl(Perl语言入门)学习笔记(7)

Perl编程基础教程:从入门到实践 本文还有配套的精品资源,点击获取 简介:《Learning Perl第四版中文》是一本适合初学者的Perl语言教程,内容涵盖了Perl的历史、特点、基础语法、正则表达式、函数与模块、输入输出、面向对象编程、错误处理、高级特性及Perl文化。本书从安装Perl环境开始,逐步深入到数据类型、流程控制、文件操作、面向对象等各个方面,提供了丰富的实例和实践指南,帮助读者快速掌握Pe... 阅读详情

第八章      以正则表达式进行匹配

 

1、  m// 为模式匹配操作符,其中“//”为模式定界符,也可以替换为其它成对的定界符(如:m{}、m[]、m()或m<>等)或不成对的单一定界符(如:m,, 、m!! 、m^ ^ 、 m# # 等),一般采用模式中不会出现的符号作为定界符,如果采用默认的“//”,则可以省略前面的“m”;

2、  选项修饰符(option modifier letter)指可以单个或多个组合起来附加在某个正则表达式结尾的定界符右边的特殊字符,用以改变正则表达式的默认行为;常见的有:

a)         /i  模式匹配时不区分大小写;

b)        /s  让通配符 .(句点)可以匹配换行符;

c)        /x  可以在模式拼写中间随意加上空白(包括换行),也可以进行注释(#开头),此时如果想匹配空白字符本身,则需要使用 /s ;

3、  默认情况下,模式匹配进行时会从字符串的开头一直向后进行而无视字符间的关系(如单词开头或结尾、字符串开头或结尾),而利用锚点则可以指定模式匹配时的位置;常见的有:

a)         ^  (插入记号)  用来标示字符串的开头;

b)        $  (美元符)    用来标示字符串的结尾;

c)        /b    单词边界锚点,用来匹配一个单词(由字母、数字或下划线组成,而非指“正确”的英文单词)的头尾两端(需要为头尾分别指定,也可以只标示一边从而只匹配首部或尾部);

d)        /B   “非单词”边界锚点,匹配/b不能匹配的任何位置;

4、  在Perl中,可以使用模式直接匹配$_;如果要手动指定匹配的目标,则需要使用绑定操作符“=~”;绑定操作符的优先级较高;

5、  Perl中,可以在正则表达式中进行双引号形式的内插,即可以在模式中使用标量变量,如/^($what)/,其中$what是个标量变量,其值依程序要求发生改变时匹配模式亦跟着改变;

6、  模式匹配时,正则表达式引擎会将每个圆括号内的模式所匹配到的内容暂时记忆下来,而每一份暂时记忆的内容都可以使用匹配变量进行引用;匹配变量都是标量变量,它们的命名方式括号的次序依次为$1、$2、$3、……;有多少组圆括号就有多少个匹配变量;匹配变量不同于正则表达式中的“回溯引用”(也叫反向引用),回溯引用引用的是模式匹配尚未完成时的字符串,而匹配变量引用的则是模式已经全部匹配完成后的结果;

7、  匹配变量中的内容通常只会维持到下一次模式匹配成功之时,因此,如果想在程序的数行之外使用某次匹配的结果,最好将匹配变量复制到自定义的某个普通变量中;

8、  无论模式里是否有“记忆圆括号”,都会有3个“自动匹配变量”产生,它们是“$` (模式在字符串里实际匹配到的字符之前的内容)、 $& (模式实际匹配到的内容)和 $’ (模式在字符串里实际匹配到的字符之后的内容)”;但使用它们可能会让程序运行变慢;

9、  常见元字符的优先级:

a)         最高级是圆括号“()”,用于划分组及存储;

b)        第二级是量词(quantifier),即*、+、?及{};

c)        第三级是锚点(anchor)与序列(sequence),即/b、^ 、$、/B及彼此相邻的项目;

d)        最低一级是“择一匹配”的操作符——竖线“|”;

Perl语言入门各章习题源码 源码是学习《perl 语言入门》时编写,包含了各章习题代码,有些习题的答案与书后有些区别,但都能解决问题,正如perl语言的思想,“方法不止一种”。 立即下载

相关推荐

Learning Perl, 7th Edition

Learning Perl, 7th Edition

《Perl语言入门》学习笔记

前言 Perl Perl系列文章 两个半小时学会Perl Perl 教程 第1章 简介 《Perl语言入门·第七版》 https://www.learning-perl.com/可以下载源代码 https://www.cpan.org/是Perl综合典藏网,包含很多基于Perl的内容,如源代码、安装程序、示例文件 第2章 标量数据 scalar(标量) 标量数据:表示数据的内容,就是值; 标量变量:表示存储标量数据的容器; 数字 前置零的写法只用于表示数字直接量,不能用于字符串和数字间的自动转换。

杰之行的博客 4124

Win10+pycharm+conda 配置Siammask 过程记录(新手向)

我们跑动demo 需要配置两个相关的文件这两个文件需要用 git 进行下载,对于不熟悉git的小伙伴 我这里给出连接,大家可以直接下载即可,并将其配置在 experiments文件夹下然后大家再需要在设置参数参数这里给出了。

C1137577723的博客 551

perl语言入门第七版 电子版_perl脚本语言入门

这篇文章的目的是能够读懂简单的perl脚本简介Perl,一种功能丰富的计算机程序语言,运行在超过100种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发。Perl不需要编译器和链接器来运行代码,你要做的只是写出程序并告诉Perl来运行而已。这意味着Perl对于小的编程问题的快速解决方案和为大型事件创建原型来测试潜在的解决方案是十分理想的。也正是因为Perl的灵活性和"过...

weixin_39796149的博客 1470

C++实战指南:使用CodeBlocks构建跨平台wxWidgets窗口应用

本文是一份面向C++初学者的实战指南,详细介绍了如何使用CodeBlocks IDE和wxWidgets框架快速构建跨平台的桌面窗口应用。内容涵盖从环境搭建、项目配置到界面设计、事件处理的全流程,重点讲解了如何利用CodeBlocks的开箱即用支持和wxSmith可视化设计器,高效开发具有按钮、菜单、列表等控件的交互式窗口界面程序,帮助读者轻松入门GUI开发。

weixin_29012677的博客 154

VCL for PHP,Konopka Signature VCL Controls (Raize Components 6.2.3) for Delphi 10.4

The Raize Components suite includes a variety of interface design tools for Delphi programming language and C ++ Builder, which includes over 125 VCL controls and over 100 different tools for creating...

weixin_42137539的博客 853

《Learning Perl》学习笔记 教程

第一章 简介 写在前面: 本着读书“由厚变薄,再由薄变厚”的精神,努力整理自己的思绪,将《Learning Perl》的 内容浓缩、提取,写写学习笔记,便于自己以后复习 1.每个Perl语言的开头,都是以类似 #! /usr/bin/perl 2.Perl的注释是从一个井号(#)一直到行尾的内容。 正常的Perl语句以分号(;)结尾; 另外,Perl的书写格

萧瑟一笑的专栏 1981

TI 实时操作系统SYS/BIOS使用总结

1:概述: SYS/BIOS 是一个可扩展的实时的操作系统。具有非常快速的响应时间(在中断和任务切换时达到较短的延迟),响应时间的确定性,强壮的抢占系统,优化的内存分配和堆栈管理(尽量少的消耗和碎片)。能够实现系统的模块化并可裁剪。 最大的特点就是:实时。 2:XDCtools: XDCtools 是SYS/BIOS引用的一种实时的软件组件技术(RTSC),它包括一些有用的工具,标准的AP

带头奋青的博客 5万+

perl语言编程 第四版_5种将死的编程语言,有你学的吗?

现在的开发人员都趋向于使用新的编程语言,那么旧的编程语言呢?它们的前途一般是这样两种:仍然可以使用,但逐渐不受大家欢迎;直接完全死去。和之前的十佳最受欢迎的编程语言相反,本文我们预测以下这几种编程语言面临着死亡威胁PERL曾几何时,几乎每个人都在使用Perl语言编程。但是那些经常使用的人慢慢地发现,关于这个Perl语言似乎总是有点不对劲。至少我知道有这么个叫做“piecemeal”的编程语言,它的...

weixin_39846378的博客 323

【原创】下载RealEstate10K数据集原始视频的方法

目前互联网上能搜到下载RealEstate10K数据集原始视频的方法都已经不能用了,这篇博客介绍一种目前可用的下载RealEstate10K数据集原始视频的方法,并给出自动化的脚本代码。

沉迷单车的追风少年 2461

【报错解决】OpenClaw 报错 ENOENT: no such file or directory, open ‘/root/.npmrc‘:配置文件路径不存在

本文分析了OpenClaw平台在国产操作系统环境下运行时出现的ENOENT: no such file or directory, open '/root/.npmrc'错误。该问题源于容器环境中root用户的npm配置文件缺失,导致插件依赖安装失败。文章详细解释了npm配置加载机制和容器环境的特殊性,提出了四种解决方案:手动创建配置文件、写入基础配置、使用全局配置替代以及容器启动时自动初始化。最后指出该错误暴露了工程中对默认路径盲目信任的问题,强调显式声明运行环境依赖的重要性。

博客 2015

Learning Perl(Perl语言入门)学习笔记(1)

第二章 标量数据 1、 一般来说,Perl用标量(Scalar)指称单件事物;2、 Perl中,所有数值的内部格式都相同,一律使用双精度浮点数进行运算;3、 直接量是Perl原程序中数值的表示形式,在非十进制的整数直接量表示中,八进制以0开头,十六进制以0x开头,而二进制以0b开头;4、 操作符**表示幂乘,如2的3次方为2**3;5、 字符串没有长度限制(0—∞);6

639

Agent Skills应用解析:构建可扩展、高效率AI探员

Agent Skills是一个简洁而强大的概念:它是一个包含组织化的指令、脚本和资源的文件夹,智能体可以动态地发现并加载这些内容,以在特定任务中表现更佳。可组合性(Composability):一个Agent Skill是一个独立的、封装良好的能力单元。开发者可以为不同的功能(例如PDF处理、网络浏览、数据分析)创建独立的技能,然后根据需要将它们组合起来,赋能不同的智能体。这意味着不再需要为每个用例构建碎片化、定制设计的智能体,而是可以通过组合现有技能来快速构建新的专业智能体。

形上得其象,形下合于数;阴阳自济,玄理自明。 1627

Learning Perl

本书是perl的经典入门书籍,介绍了perl中最基本的概念和语法,是perl入门的好书,我 向所有想了解或学习perl语言的朋友推荐本书。书中穿插有perl语法形成的历史和原因, 使你能充分感受到perl语言的文化,这也是perl流行的原动力。本书行文流畅,各知识点 介绍到位,令人很容易明白,达到入门点睛的效果。但本书的作用也就是入门而已,目的很 明确,它没有深入到perl脚本语言的高级部份。如果

yeliang的专栏 1746

基于方差分解分析气象/水文干旱驱动因素(含MATLAB全代码)

简介基于方差分解方法分析气象/水文干旱驱动因素

WW、forever的博客 801

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Perl语言入门(第五版) 中文版PDF下载 (原书名:Learning Perl,5/e)

Perl语言入门(第五版) 中文版PDF下载 (原书名:Learning Perl,5/e) 转载于:https://www.cnblogs.com/gavinhughhu/archive/2009/11/25/1610035.html

weixin_30265171的博客 1138

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Perl Learning (1) —— Perl简介

小骆驼书( llama book ) Perl简介

delphiwcdj的专栏 1323

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Learning Perl(Perl语言入门)学习笔记(4)

 第五章 输入与输出 1、  在While循环里,Perl会一次读取一行输入,把它存入某个变量并且执行循环主体后再去寻找下一行输入;而在foreach循环中,整行输入操作会在列表上下文执行,因此,循环开始前,它会把所有输入事先读进来,在对于处理大体积的文本文件是十分不利的;2、  “”,即钻石操作符(有的书上称作菱形操作符,也有的书上称作尖括号操作符,我们这里姑且采用Randal的

1107

Learning Perl(Perl语言入门)学习笔记(11)

第十二章  目录操作 1、  chdir 函数用来改变工作目录,类似于shell 命令 cd;更改目录成功时返回值为“真”,否则为“假”;如果省略chdir 的参数,Perl会试图将工作目录转向当前用户的主目录;每次目录更改后都应该测试其结果;2、  shell 将命令行里的文件名模式展开成所有匹配的文件名的功能就称为globbing,也叫文件名模式匹配;如:my @files = g

726

Learning Perl(Perl语言入门)学习笔记(15)

第十六章  一些高级Perl技术 1、  在程序运行里,可以使用eval 块表达式(块后的分号不能省略,因为是表达式)来捕获严重错误,以防止程序运行时崩溃;其捕获结果存储于特殊变量 $@ 中,$@为空(“假”)时表示执行成功,否则,就表示执行过程中发生了错误,其内容为错误信息(布尔表达式结果为“真”),如:     print “An error occurred: $@” if $@

519

读《Learning Perl》

最近在看Learing Perl, 感触颇多啊。我的这些感触无关技术,而是感叹作者技术的广泛、精通(或者只是我的错觉?)。 一个领域的入门书籍很重要,我本来是想找Larry的那本Programming Perl,但图书馆只有一本第三版(2001年的),网站显示有6本可借的英文版(正合我意),屁颠屁颠的跑过去了,发现一本都没有。。。囧。学校的图书馆老出这种BUG。言归正传,不得不说这本LP正式适合

LoveLock 1099

Learning Perl(Perl语言入门)学习笔记(8)

第九章      以正则表达式处理文本 1、  使用s/// 操作符可以进行“查找和替换”,其中前两个斜线之间的是模式(pattern),后两个斜线中间的是替换字符串(replacement string);替换字符串中可以使用匹配变量;使用选项修饰符 /g 可以进行全局替换;s/// 操作符有布尔型的的返回值,替换成功时为“真”,否则为“假”;2、  Perl中,可以对模式匹配到的字

672
上一篇: Learning Perl(Perl语言入门)学习笔记(6)
下一篇: Learning Perl(Perl语言入门)学习笔记(8)
Rebollo
博客等级 码龄18年 1粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值