perl正则表达式(perl正则表达式匹配)
AB资源网 2023-04-13 23:19 97 浏览 0 评论
本文目录一览:
- 1、perl 正则表达式 前后冒号什么意思?
- 2、为什么说perl的正则表达式功能比Python强大
- 3、perl正则表达式常用语法总结
- 4、解释下perl的正则表达式里?= ?! ?
- 5、perl 正则表达式中模式分组/y((.)(.)\3 \2) d\1/ 是怎么匹配的?
perl 正则表达式 前后冒号什么意思?
这句中的冒号是正则表达式的定界符,表示两个冒号之间是正则表达式,
把冒号换成斜杠是一样的都是定界符,
这句程序的意思是如果变量x中有双引号,则把变量x的内容加单引号追加到变量cmd中
如果变量x中没有双引号,则什么也不做.
完整的程序如下(冒号换成斜杠是一样的,一个有双引号,一个没有双引号)
为什么说perl的正则表达式功能比Python强大
最大的分别就是.. 速度!
从各种的测试都显示, perl 的正则处理依然是最快的 (不只比 python) , 下面的实测可以去看看
https: 斜斜 stuffivelearned 点 org 斜 doku.php?id=programming%3ageneral%3aphpvspythonvsperl
其实 perl 本来就是正则的鼻祖, 它最初的开发的原意很大程度也是为了正则
至於为甚麼比 python 快其实不难想像
Perl 不是 OO 语言(虽然有 OO 的玩法), 所以用到正则时, 正接就开始跑, 不用继承一堆有的没的属性和方法. 至於 python 还要先把字串 compile 了做一个物件, 才开始做正则, 在底层自然又多了一重功夫
Python 的正则要靠模块来完成, Perl 的正则却已在 perl 解释器的心脏里, 谁会起动的更快就很明显了. 当然, 除了 C Python 还算最快之外, 其他如 JPython, Iron Python 这些要靠 framework 来起动的就必然更慢了
另外就是... 连击和助攻, perl 的正则很可以直接当成 expression (=~ 和 !~ ) 来用, 如:
use utf8;
$wantId = "陈大文";
die "帐号不能用奇怪字符" unless $wantId =~ /^[\w\d]+$/ ;
#或者
%user = (
1 = { Name = "王子" },
2 = { Name = "小王子" }
3 = { Name = "王妹" } );
@姓王的 = grep { $user{$_}{Name} =~ /^王/ } keys %user;
# @姓王的 = ( 1, 3)
# 又或者
%mask = ( 1 = "M", 2 = "X", 3 = "B" );
$password = "321"; #普通密码
$maskedPw = undef; #加密密码
$password =~ s/(.)/$maskPw .= $mask($1)/eg;
# maskedPw = "BXM"上面几例, 试问用 python 要写多少行才做到用样的效果呢.. 不过, 这多少语言层次的问题, 姑且另作别论了.
perl正则表达式常用语法总结
操作符
m/.../ 模式匹配操作符
s/.../.../ 模式替换操作符
qr/.../ 预编译正则表达式
=~ 绑定操作符
普通元字符
. 通配符,可匹配除\n外的一个任意字符
\ 用于字符转义
| 择一竖线
\Q...\E 转义\Q至\E之间的所有元字符
字符集
[...] 肯定型字符集
[^...] 否定型字符集
- 可用于表示一系列连续字符
[-...\\...\^] 字符集中表示真正的“-”、“\”与“^”
字符集简写
\d与\D 基本相当于[0-9]与[^0-9]
\w与\W 基本相当于[A-Za-z0-9_]与[^A-Za-z0-9_ ]\s与\S 空白字符集(包括空格、\n等)及其反义字符集
量词
* 可重复匹配0至任意多次
+ 可重复匹配1至任意多次
? 可重复匹配0或1次
{1,5} 通用量词,可重复匹配1至5次
{1,} 无重复匹配次数上限,此处相当于量词“+”
{5} 固定匹配5次
*?、+?、??、{...}? 忽略优先量词
*+、++、?+、{...}+ 占有优先量词
与小括号相关的语法
(...) 普通捕获组
(?: ...) 非捕获组
(? ...) 固化分组
(? ...) 命名捕获组
(?i-m: ...) 启用i修饰符并关闭m修饰符的非捕获组
((?i-m) ...) 启用i修饰符并关闭m修饰符的捕获组
\1、\2、\3 普通绝对反向引用
\name 反向引用命名捕获组
\g{...}、\k... 支持相对反向引用的写法(二者略有差别)
$1、$2、$3 使用绝对编号的捕获变量
$+{name} 通过%+散列调用命名捕获组内容
$`、$、$' 匹配前字段、匹配字段与匹配后字段(使用会大幅降低正则引擎的速度)
修饰符
/i 模式字符忽略大小写
/m 启用行首尾锚位
/x 启用宽松排列模式
/g 全局匹配、全局替换
/o 只编译一次
锚位
\A 绝对开头锚位
\Z 绝对末尾锚位
\z 忽略末尾换行符的末尾锚位
^、$ 未开启/m时,相当于\A与\z,开启\m后为行首尾锚位
\b 单词边界锚位
\B 非单词边界锚位
\G 锚位到上一次成功匹配的结束位置
(?= ...) 肯定顺序环视
(?! ...) 否定顺序环视
(?= ...) 肯定逆序环视
(?
优先级
小括号 量词 锚位和序列 择一竖线 原子
樱雨楼
完于:2016.3.30
解释下perl的正则表达式里?= ?! ?
首先,g{n}是perl
5.10的反向引用新写法,n是想要反向引用的组号。没有g{n}写法的时候,需要用\1,\2,\3等来表示相对应的反向引用,数字代表括号出现的先后,即为“组号”。在你给出的模式中,只出现了一个括号,所以{}里应该是1,它指“引用第1个括号所匹配的内容”。你理解的可能是,因为b出现2次所以括号里应该是2,错在没理解g{n}中n的含义。另外,这个模式比较简单,其实没必要用g{},只需/a(.)\1a/即可。
perl 正则表达式中模式分组/y((.)(.)\3 \2) d\1/ 是怎么匹配的?
分组是按照左边圆括号"("的出现次序确定顺序
所以\1是表示((.)(.)\3
\2)中整个的内容,\3表示((.)(.)\3
\2)中内嵌的第二个圆括号中的内容,\2表示内嵌的第一个圆括号中的分组
/y((.)(.)\3
\2)
d\1/
这个正则表达式中有空格,所以这个正则表达式可以匹配
y字符跟两个任意字符,重复第三个字符,一个空格,重复第二个字符,一个空格,字符d,重复第二至第五个字符
这个正则可以匹配字符串
“ystt
s
dstt
s”
如果这个正则表达式中没有空格,或者在最后使用了x标记,则可以匹配字符串
"ysttsdstts"
perl正则表达式的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于perl正则表达式匹配、perl正则表达式的信息别忘了在本站进行查找喔。
相关推荐
- 云主机FTP软件:高效传输与安全管理的一站式解决方案
-
在云计算时代,云主机已成为企业和个人用户托管应用和存储数据的首选。为了方便文件传输,FTP(文件传输协议)软件在云主机环境中扮演着重要角色。本文将详细介绍如何在云主机上配置和使用FTP软件...
- 云主机FP:引领未来计算,解锁无限可能
-
云主机FP(FloatingPoint)是指在云计算环境中,针对浮点运算性能进行优化的虚拟机实例。浮点运算在科学计算、工程模拟、金融建模、图形处理等领域中占据重要地位,因此云主机FP的设计和配置...
- 云主机ECS:解锁企业数字化转型的新引擎,高效、安全、灵活的云计算解决方案
-
云主机ECS(ElasticComputeService)是阿里云提供的一种弹性计算服务,它允许用户在云端创建和管理虚拟机实例。ECS的核心优势在于其灵活性和可扩展性,能够满足各种规模和类型的业...
- 云主机D盘:解锁无限存储空间,轻松应对大数据挑战!
-
云主机是一种基于云计算技术的虚拟化服务器,它允许用户在云平台上创建、配置和管理虚拟机实例。在云主机中,磁盘分区是存储数据的关键部分,通常包括系统盘和数据盘。系统盘用于安装操作系统和运行应用...
- 云主机DNS解析:提升网站速度与稳定性的关键策略
-
云主机DNS(DomainNameSystem)是云计算环境中至关重要的一部分,它负责将域名转换为IP地址,从而使得用户能够通过易于记忆的域名访问云主机上的服务和应用。本文将深入探讨云主机DNS...
- 云主机C盘爆满?快速解决方法大揭秘,让你的服务器重获新生!
-
云主机C盘满了是一个常见但棘手的问题,尤其对于依赖云服务进行日常运营的企业和个人用户来说,这可能导致系统性能下降、应用程序崩溃,甚至数据丢失。本文将详细探讨云主机C盘满的原因、影响以及解决方法。...
- 云主机CPU选择指南:提升性能与效率的关键决策
-
在选择云主机的CPU时,用户需要考虑多个因素,以确保所选的CPU能够满足其应用的需求,同时优化成本效益。以下是一些关键点,帮助用户在云主机CPU选择过程中做出明智的决策。了解应用的性能需求...
- 云主机CPU性能大比拼:揭秘顶级云服务商的核心竞争力
-
云主机CPU是云计算环境中至关重要的组成部分,它直接影响着云服务的性能、稳定性和用户体验。CPU,即中央处理器,是计算机系统的核心,负责执行指令和处理数据。在云主机中,CPU的性能决定了虚...
- 云主机ASP:高效搭建动态网站,轻松实现业务扩展与性能优化
-
云主机ASP(ActiveServerPages)是一种在云环境中运行ASP应用程序的技术。ASP是一种由微软开发的动态网页技术,允许开发者使用VBScript或JScript等脚本语言编写服务...
- 云主机API:解锁无限可能,引领企业数字化转型新纪元
-
云主机API(ApplicationProgrammingInterface)是云计算服务提供商为用户提供的一种编程接口,允许开发者通过编程方式管理和操作云主机资源。这些API通常基于RESTf...
- 云主机99idc:高效稳定,轻松搭建您的专属云端空间,一键部署,畅享无限可能!
-
云主机99idc是一家专注于提供云计算服务的公司,其核心业务是为企业和个人用户提供高性能、高可靠性的云主机服务。随着数字化转型的加速,云计算已经成为企业IT基础设施的重要组成部分,而云主机99i...
- 云主机80端口:解锁无限可能,开启高效网络新时代!
-
云主机是一种基于云计算技术的虚拟化服务器,它通过互联网提供计算资源和服务。在云主机中,80端口是一个非常重要的端口,通常用于HTTP协议,即网页服务。本文将详细探讨云主机80端口的相关内容...
- 云主机403错误:解锁高效解决方案,提升网站性能与安全
-
云主机403错误是一个常见的网络问题,通常表示用户在尝试访问某个资源时被服务器拒绝。这种错误可能由多种原因引起,包括权限问题、配置错误、防火墙设置等。以下是关于云主机403错误的一些详细信...
- 云主机360:全方位云端解决方案,助力企业数字化转型无忧
-
云主机360是一种基于云计算技术的虚拟化服务器解决方案,它通过将物理服务器资源虚拟化,为用户提供灵活、高效、安全的计算服务。云主机360的核心优势在于其高度的可扩展性和弹性,用户可以根据业务需求...
- 云主机301:引领未来云计算的新纪元,高效稳定,助力企业数字化转型!
-
云主机301是一种常见的网络重定向状态码,通常用于指示用户请求的资源已被永久移动到新的URL。在云计算环境中,云主机301状态码的出现可能涉及到多种技术和管理策略,下面我们将详细探讨这一现象。...
你 发表评论:
欢迎- 一周热门
-
-
HostYun廉价洛杉矶三网回程CN2 GIA云服务器内测13元/月起(美国原生IP,去程10Gbps防御)
-
大网数据:双12秒杀聚惠,湖北100G高防云低至0元/月,湖北独服务器低至210元、200G高防+50Mbps带宽
-
HostYun洛杉矶大硬盘云服务器9折22.5元/月起(240G-500G硬盘/1Gbps/10G防御)
-
樊云香港双程CN2及洛杉矶50G高防三网CN2 GIA云服务器9折22.5元/月起
-
大网数据、湖北高防云服务器低至39元/月起、湖北高防独服务器低至245元起(200G硬防、金盾+傲盾防CC)
-
spinservers圣何塞/达拉斯10Gbps带宽高配服务器月付89美元起
-
tmhhost美国高防云服务器8折_CeRaNetworks机房/三网cn2直连/适合建站
-
高防服务器大网数据湖北独服务器低至210元、200G高防+50Mbps带宽
-
DogYun新上韩国独立服务器,E5/SSD+NVMe优惠后300元/月,自动化上架
-
初忆云 – 2020年中云聚惠全场五折 BGP云服务器低至88/年,抓紧上车
-
- 互动交流
- 标签列表
- 最新评论
-
您的文章条理清晰,论述有据,说服力强。您的文章情感真挚,能够触动人心,引起共鸣。https://www.renhehui.com/renhehui/1479.h
沉醉于月色 评论于:08-09虚拟机部署好后跟物理机一样当服务器的,只是它依赖了本地物理机不要关机为前提。对于外网访问内网场景,本地内网搭建服务器后需要提供到互联网上连接访问的,比较简便的
访客 评论于:03-01刘中宜 评论于:11-01
访客 评论于:06-03
AB资源网 评论于:05-08
AB资源网 评论于:11-22
AB资源网 评论于:11-22
頹廢了悲伤 评论于:11-15
南风知我意 评论于:11-15
心若冰凝 评论于:11-15