Perl正则表达式 模式匹配[通俗易懂]

Perl正则表达式 模式匹配[通俗易懂]m运算符与匹配修饰符含义i关闭大小写敏感性m将字符串作为多行处理o只编译模式一次。用于优化搜索流程s嵌入换行符时,将字符串作为单行处理x允许在正则表达式中提供注释,并忽略空白字符g全局匹配,即查找所有具体值。如果用于数组型上下文语境,则会返回一个列表;如果用于标量型上下文语境,则返回真或假s运算符与替换格式:s/ol

大家好,又见面了,我是你们的朋友全栈君。

m运算符与匹配

修饰符 含义
i 关闭大小写敏感性
m 将字符串作为多行处理
o 只编译模式一次。用于优化搜索流程
s 嵌入换行符时,将字符串作为单行处理
x 允许在正则表达式中提供注释,并忽略空白字符
g 全局匹配,即查找所有具体值。如果用于数组型上下文语境,则会返回一个列表;如果用于标量型上下文语境,则返回真或假

s运算符与替换

格式:

s/old/new/;
s/old/new/i;
s/old/new/g;
s+old+new+g;
s(old)/new/; s[old]{new};
s/old/expression to be evaluated/e;
s/old/new/ige;
s/old/new/x;

替换修饰符

修饰符 含义
e 将替换一侧作为表达式来求值
i 关闭大小写敏感性
m 将字符串作为多行处理
o 只编译模式一次。用于优化搜素流程
s 嵌入换行符时,将字符串作为单行处理
x 允许在正则表达式中提供注释,并忽略空白字符
g 全局匹配。即查找所有具体值

模式绑定运算符

格式

Variable = ~ /Expression/
Variable !~ /Expression/
Variable =~ s/old/new/

模式匹配运算符

示例 含义
$name =~ /John/ 如果$name含有模式则为真。如果有真,返回1.否则返回空值
$name !~/John/ 如果$name 不含有模式,则为真
$name =~s/John/Sam/ 将匹配John的第一个值替换为Sam
$name =~s/John/Sam/g 将匹配John的所有具体值替换为Sam
$name =~tr/a-z/A-Z/ 将所有小写字符翻译为大写字符
$name =~ /\$pal/ 在搜索字符串时使用变量
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142836.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Vue上传图片_解调的三种方式

    Vue上传图片_解调的三种方式项目中需要上传图片可谓是经常遇到的需求,本文将介绍3种不同的图片上传方式,在这总结分享一下,有什么建议或者意见,请大家踊跃提出来。没有业务场景的功能都是耍流氓,那么我们先来模拟一个需要实现的业务场景。假设我们要做一个后台系统添加商品的页面,有一些商品名称、信息等字段,还有需要上传商品轮播图的需求。我们就以Vue、Element-ui,封装组件为例子聊聊如何实现这个功能。其他框架或者不用框架…

    2022年10月16日
    4
  • Java8 Lambda表达式教程

    Java8新特性,Lambda表达式与集合类bulkoperation教程。迄今为止最全面的中文原创javalambda表达式教程。

    2022年4月7日
    51
  • 傅里叶变换公式「建议收藏」

    傅里叶变换公式「建议收藏」傅里叶变换的目的:有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征了。1、FS:(Fourierseries)连续时间周期信号的傅里叶级数,时域上任意连续的周期信号可以分解为无限多个正弦信号之和,在频域上表示为离散非周期的信号,即时域连续周期对应频域离散非周期的特点。时域上连续周期函数,采用FS(傅里叶级数)分解为频域上为非周期、连…

    2022年7月17日
    9
  • 以太坊钱包开发「建议收藏」

    以太坊钱包开发「建议收藏」目前的公链项目,影响力最大的应该就数以太坊和比特币了,其他的多数公链,基本上都是借鉴了以太坊和比特币公链项目而设计开发的。了解区块链的人都知道,比特币和以太坊这两个公链项目的差距还是挺大的,故而他们的钱包开发也是特别不一样的。本章我们将详细讲解以太坊钱包原理和开发流程,涉及到的内容有以下这些:依托钱包节点方式开发钱包,但这种方式的缺点就keystore生成存放到区块的节点上;非确定性以…

    2022年8月30日
    6
  • 大学学姐给学弟学妹们的寄语_怎么去大厂工作

    大学学姐给学弟学妹们的寄语_怎么去大厂工作很多小伙伴问我进大厂到底需要怎样的技术能力,经过几天的思考和总结,终于梳理出一份相对比较完整的技能清单,太顶了,建议收藏!!

    2022年8月23日
    8
  • urlopen error errno111(英雄联盟报错error)

    原因获取地址信息失败,通常是由于自动选择的DNS服务器不行解决方法更换DNS服务器控制面板(win+R+control)->网络和Internet2.打开网络共享中心3.打开当前连接的网络,以wifi为例4.打开属性5.打开Internet协议版本46.选择使用特定DNS服务器地址,并设置为114.114.114.1148.设置完成后,错误解决…

    2022年4月18日
    60

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号