Perl 教程 之 Perl 正则表达式 3

简介: Perl正则表达式教程展示了其在字符串匹配上的强大力量。匹配后的值存储在特殊变量$`(前部分字符串)、$&(匹配字符串)和$'(剩余字符串)中。以下示例演示了如何使用这些变量打印原始字符串"welcome to baidu site."匹配"run"后的结果:匹配前是"welcome to ", 匹配的是"bai", 匹配后是"idu site."。

Perl 教程 之 Perl 正则表达式 3

Perl 正则表达式

正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。

Perl语言的正则表达式功能非常强大,基本上是常用语言中最强大的,很多语言设计正则式支持的时候都参考Perl的正则表达式。

正则表达式变量

perl处理完后会给匹配到的值存在三个特殊变量名:

$`: 匹配部分的前一部分字符串
$&: 匹配的字符串
$': 还没有匹配的剩余字符串
如果将这三个变量放在一起,你将得到原始字符串。

实例如下:

实例

!/usr/bin/perl

$string = "welcome to baidu site.";
$string =~ m/run/;
print "匹配前的字符串: $`\n";
print "匹配的字符串: $&\n";
print "匹配后的字符串: $'\n";
执行以上程序输出结果为:

匹配前的字符串: welcome to
匹配的字符串: bai
匹配后的字符串: idu site.

目录
相关文章
|
Linux 测试技术 项目管理
产品、项目、平台、系统、应用的关系
产品、项目、平台、系统、应用的关系
1279 0
|
8月前
|
JavaScript 算法 前端开发
nodejs18版本 npm run dev失败
在使用若依框架运行 `npm run dev` 时,若卡在 95% 并报错,通常是 Node.js 17+ 与 Webpack 的兼容性问题。原因是 OpenSSL 3 的加密算法变化导致依赖冲突。解决方法:Windows 下运行 `set NODE_OPTIONS=--openssl-legacy-provider`,macOS/Linux 使用 `export NODE_OPTIONS=--openssl-legacy-provider`,然后重新启动开发服务即可。此设置让 Node.js 启用旧版加密支持,恢复正常构建流程。
782 0
|
SQL 算法 关系型数据库
面试:什么是死锁,如何避免或解决死锁;MySQL中的死锁现象,MySQL死锁如何解决
面试:什么是死锁,死锁产生的四个必要条件,如何避免或解决死锁;数据库锁,锁分类,控制事务;MySQL中的死锁现象,MySQL死锁如何解决
|
机器学习/深度学习 数据采集 分布式计算
社交网络分析4(下):社交网络链路预测分析、LightGBM框架、LLSLP方法(LightGBM 堆叠链路预测)、堆叠泛化 、社交网络链路预测分析的挑战
社交网络分析4(下):社交网络链路预测分析、LightGBM框架、LLSLP方法(LightGBM 堆叠链路预测)、堆叠泛化 、社交网络链路预测分析的挑战
698 0
|
网络虚拟化
配置BGP/MPLS IP VPN示例
配置BGP/MPLS IP VPN示例
|
Serverless BI Python
Python中的for循环和range()函数用法详解
Python中的for循环和range()函数用法详解
|
人工智能 测试技术 UED
论文介绍:ReALM——作为语言建模的参考解析
【4月更文挑战第8天】Apple研究员提出的ReALM框架旨在改善AI在处理上下文信息时的准确性和自然性,特别是对于屏幕内容的理解。通过将参考解析转化为语言建模,ReALM能有效编码和解析屏幕实体,提高智能助手处理用户查询的能力。实验显示,ReALM在处理屏幕、对话和背景实体参考时超越了GPT-3.5和GPT-4。尽管存在挑战,如复杂空间位置理解的局限性,但ReALM为智能助手的交互体验带来了显著提升,且其模块化设计利于升级和维护。
418 2
论文介绍:ReALM——作为语言建模的参考解析
|
关系型数据库 MySQL Linux
【MySQL】如何在Linux上安装MySQL
【MySQL】如何在Linux上安装MySQL
313 1
|
机器学习/深度学习 数据挖掘 程序员
Python学习难度的具体标准
【5月更文挑战第6天】Python学习难度因个人编程背景、目标、资源和学习能力而异。对有编程经验者来说,Python的简单语法使其易上手;而对于新手,理解基础概念可能需更多时间。不同应用领域(如Web开发、数据分析)的学习曲线也不同。丰富的学习资源适应各种水平,但选择合适资源很重要。成功学习Python需要逻辑思维、问题解决能力及毅力。总的来说,Python学习难度因人而异,需结合自身条件评估。
504 0
|
前端开发 JavaScript IDE
推荐10个有趣的前端开源项目
开源的世界每天都丰富多彩,2022年前端领域会有什么新的挑战?下面是我们整理的10个有趣的开源项目,希望当中有您想要收藏的那一个。
1834 21
推荐10个有趣的前端开源项目