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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • web.xml 通过contextConfigLocation配置spring 的方式

    web.xml 通过contextConfigLocation配置spring 的方式web.xml通过contextConfigLocation配置spring的方式SSI框架配置文件路径问题:struts2的1个+N个路径:src+src(可配置)名称:struts.xml+Nspring的1个路径:src名称:applicationContext.x…

    2022年6月17日
    25
  • IDea2022.01.12激活码[最新免费获取]2022.02.06[通俗易懂]

    (IDea2022.01.12激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~4KDDGND3CI-eyJsaWNlb…

    2022年4月1日
    45
  • 电压电流转换检测「建议收藏」

    电压电流转换检测「建议收藏」电流可以转换成电压,电压也可以转换成电流。图十就是这样一个电路。上图的负反馈没有通过电阻直接反馈,而是串联了三极管Q1的发射结,大家可不要以为是一个比较器就是了。只要是放大电路,虚短虚断的规律仍然是符合的!由虚断知,运放输入端没有电流流过,则(Vi–V1)/R2=(V1–V4)/R6……a同理(V3–V2)/R5=V2/R4……b由虚短知V1=V2……c如果R2=R6,R4=R5,则…

    2022年6月2日
    38
  • java时间工具类[通俗易懂]

    java时间工具类[通俗易懂]可以直接复制使用/***字符串转换成日期*根据周数,获取开始日期、结束日期*对日期的【秒】进行加/减*对日期的【分钟】进行加/减*对日期的【小时】进行加/减*对日期的【天】进行加/减*对日期的【周】进行加/减*对日期的【月】进行加/减*对日期的【年】进行加/减*判断字符串是否为日期*今天开始和今天结束时间*/importorg.apache.commons.lang.StringUtils;importorg.joda.time

    2022年6月24日
    31
  • 高等数学学习笔记——第十四讲——函数极限的概念(1. 函数在无穷远处极限定义)

    高等数学学习笔记——第十四讲——函数极限的概念(1. 函数在无穷远处极限定义)1.问题引入(函数极限概念产生的背景——十六世纪开始在天体运动、航海、炮弹发射等领域对连续变量的研究需要)2.函数自变量的六种变化过程(趋于无穷或有限量,左趋近或右趋近)以时间为例,理解自变量的不同变化过程3.函数极限示例4.函数极限(关于过程x趋于正无穷)的定义ε可以取任意小的正数5.函数极限证明…

    2022年5月5日
    49
  • fragment与activity生命周期方法是一致的_android的生命周期

    fragment与activity生命周期方法是一致的_android的生命周期如果我们在Fragment和它的宿主Activity的生命周期中都加上Log日志,你能顺利写出他们的执行顺序吗?我们先来看一张Google官方的图片:咋一听,Activity生命周期有七个方法,Fragment生命周期有十一个方法,貌似挺复杂的,其实我们只需要明白到底是谁带领着谁去执行生命周期的方法,就能很快弄明白这个问题。在创建的过程中,是Activity带领Fragment执行生命周期中

    2022年8月16日
    5

发表回复

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

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