AB资源网(www.xxab.cn)服务器导航站-找服务器商就上AB资源网
百度360必应搜狗本站头条
【本站公告】:本站互助计划,欢迎有活动的服务器商免费投稿,免费收录,最新收录会在首页展示! - 站长QQ:6502567
当前位置:网站首页 > 技术文档 > 正文

perl正则表达式(perl正则表达式匹配)

AB资源网 2023-04-13 23:19 69 浏览 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正则表达式的信息别忘了在本站进行查找喔。

腾讯云

相关推荐

踏入阿里云服务器代理商之门:步骤和技巧 (怎么成为阿里云服务器代理商)

作为目前全球更大的云计算服务提供商之一,阿里云在中国市场的份额一直占据领导地位。如果你希望在云计算领域开展业务,成为阿里云服务器代理商可能是个不错的选择。本文将为大家详细介绍具体的步骤和技巧,帮助你成...

高性价比,足够优惠! 30美元起,年付美国VPS,值得拥有! (美国vps 年付)

近年来,随着互联网的不断发展,越来越多的网站需要使用虚拟主机服务,以提供更加稳定的服务质量和更好的访问速度。而虚拟主机的使用也因此成为了越来越普遍的一种方式。但是,在选择虚拟主机服务时,除了考虑到稳定...

评测美国云服务器,推荐性价比高的品牌 (美国云服务器哪个好用)

近年来,随着人们对于云计算的需求不断增加,云服务器也逐渐成为了企业、机构和个人等用户参与服务的主要方式之一。而在众多的云服务器品牌中,美国云服务器更是备受欢迎。而对于那些想要评测美国云服务器的用户来说...

群晖服务器的登录方法详解 (群晖服务器如何登陆)

群晖服务器是一种高效可靠的存储和共享平台,它可以提供非常多的实用功能和服务。但是,在开始使用之前,你需要登录到你的群晖服务器。在本文中,我们将详细讲解群晖服务器的登录方法。一、了解群晖服务器的基本概...

紧急通知:CDN服务器可能遇到故障,需及时解决! (cdn服务器可能发生故障)

作为一个网站管理员,CDN服务器的重要性我们再清楚不过了。最近,我们收到了来自网络运营商的紧急通知,通知我们CDN服务器可能遇到故障,需要及时解决。CDN服务器,即内容分发网络服务器,是在全球各个位...

办公室网络瘫痪!无法连接局域服务器怎么办? (连接不了局域服务器)

办公室网络瘫痪是企业中常见的问题之一。一旦网络瘫痪,会影响到员工的工作效率和企业的营运。当你打开电脑,却发现无法连接局域服务器时,这时该如何应对呢?1.检查网络连接检查电缆是否连接正确,网线是否...

利润吗?买云主机,能否带来收益? (买云主机能赚)

随着互联网的飞速发展,云计算作为一种新型的计算模式,其广泛应用在各个领域之中。其中,云主机服务是云计算的重要组成部分,已经成为很多企业选择托管的首选方式。随着云主机的发展和普及,很多人开始关注,如果购...

.NET轻松打开FTP服务器文件夹,方便快捷管理文件 (.net打开ftp服务器文件夹)

在现代科技的浪潮下,越来越多的企业选择使用云服务器来存储和共享数据。FTP服务器是一个非常有用的工具,它允许用户上传、下载、删除和共享文件。然而,FTP管理文件需要一些特定技能和知识,否则操作可能会变...

2023企业服务器版:全面升级,助力企业发展 (2023 企业服务器版)

2023年,微软推出了全新的企业服务器版本,旨在为企业用户提供更为稳定、高效的IT系统支持,更好地助力企业发展。随着互联网和信息技术的飞速发展,企业面临着越来越大的信息化压力。如何建设一个高效、稳定...

享受超低价格!2023年付VPS,轻松搭建私人网站 (2023便宜年付vps)

当今时代,互联网充斥着各种各样的网站,无论是企业还是个人都会拥有一个网站,用来展示自己的产品或者知识。而搭建一个私人网站也是越来越普遍的事情。那么,如何搭建一个便捷而且又不贵的私人网站呢?本文将为大家...

回顾2023服务器系统:经典之作还是过时技术? (2023服务器系统)

2023年,微软公司推出了WindowsServer2023,这是一款非常成功的服务器操作系统,许多企业和机构使用它进行各种任务和应用程序。然而,随着时间的推移,新技术的发展以及安全漏洞的增加,2...

2023 Q3服务器排名发布:领先厂商与新兴品牌争夺冠军 (2023 Q3服务器排名)

近年来,随着互联网技术的迅速发展,服务器市场也持续升温。市场上主要的服务器品牌包括戴尔、惠普、联想、IBM等。而在这些老牌企业的竞争下,新兴的服务器品牌也在不停崛起。根据2023Q3服务器排名发布,...

「低成本高性能!100g云服务器价格惊喜震撼!」 (100g云服务器价格)

低成本高性能!100g云服务器价格惊喜震撼!现今的互联网时代,任何一家公司都需要拥有自己的网站,以便宣传公司产品、服务和品牌。一个高速、可靠的云服务器是每个公司的必备工具之一。就在不久之前,网络服务...

1u服务器显卡:强大性能让服务器效率提升 (1u服务器显卡)

1U服务器显卡:强大性能让服务器效率提升随着信息技术的飞速发展,人们对数据处理和存储的需求越来越高,尤其对企业级服务器的性能要求也越来越苛刻。随着、大数据、云计算等诸多新技术的不断涌现,服务器的效率...

韩国将于2023年推出云服务器服务,助力云计算技术的发展。 (2023韩国云服务器)

韩国将于2023年推出云服务器服务,助力云计算技术的发展随着互联网的高速发展,云计算技术已经成为了数字化时代的一项重要技术。云计算技术是一种以互联网为基础,将不同的底层服务封装成云服务器,以便用户可...

取消回复欢迎 发表评论: