• 拾遗:Perl 正则表达式


    三种正则模式:

    • 匹配:m//,其中前缀 m 可省略
    • 替换:s///
    • 转化:tr///

    操作符:

    • =~:存在匹配项则返回结果
    • !~:不存在匹配项则返回结果

    修饰符:

    • i:忽略大小写,如:s/.../.../i
    • m:默认情况下,会将匹配目标(一个字符串)整体当成一行,即使其中存在换行符;开启此多行模式后,遇到换行符就会认为是新的一行;此时 '.' 匹配不到换行符
    • o:匹配到第一个值后,后续的匹配以这个固定值查找,不再进行正则匹配,可加快后续查找的速度
    • s:单行模式,换行符被当作一个常规的字符,此时 '.' 可以匹配到换行符
    • x:仅用于提高正则表达式的可读性,将正则表达式里的空格自动清除,如: /d+ s{3}/x 与 /d+s{3}/ 完全相同
    • g:全局匹配
    • 专用于 tr 转化修饰符:
    • c:指定字符以外的字符,全部转化为指定字符,如:tr/[a-z]/ /c 表示将除小写字母以外的所有字符替换为空格
    • d:删除匹配到的字符
    • s:将连续的相同字符缩成一个,即去重,如:tr/[a-z]/[a-z]/s 表示对所有小写字母中连续的相同字符去重

    正则表达式规则:

    d    匹配一个数字的字符,和 [0-9] 语法一样
    d+    匹配多个数字字符串,和 [0-9]+ 语法一样
    D    非数字,其他同 d
    D+    非数字,其他同 d+
    w    英文字母或数字的字符串,和 [a-zA-Z0-9_] 语法一样
    w+    和 [a-zA-Z0-9_]+ 语法一样
    W    非英文字母或数字的字符串,和 [^a-zA-Z0-9_] 语法一样
    W+    和 [^a-zA-Z0-9_]+ 语法一样
    s    空格,和 [
    	
    f] 语法一样
    s+    和 [
    	
    f]+ 一样
    S    非空格,和 [^
    	
    f] 语法一样
    S+    和 [^
    	
    f]+ 语法一样
        匹配以英文字母,数字为边界的字符串
    B    匹配不以英文字母,数值为边界的字符串
    a|b|c    匹配符合a字符 或是b字符 或是c字符 的字符串

    ...

  • 相关阅读:
    Django实现自定义template页面并在admin site的app模块中加入自定义跳转链接
    django中将model转换为dict的方法
    django后台显示图片 而不是图片地址
    Django admin 继承user表后密码为明文,继承UserAdmin,重写其方法
    Android API之Telephony.Sms
    com.android.providers.telephony.MmsSmsDatabaseHelper
    在发送信息时应用PendingIntent.FLAG_UPDATE_CURRENT
    Android开发之旅(吴秦)
    Android API之android.content.BroadcastReceiver
    Receiver not registered.
  • 原文地址:https://www.cnblogs.com/hadex/p/6849766.html
Copyright © 2020-2023  润新知