zoukankan      html  css  js  c++  java
  • 拾遗: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字符 的字符串

    ...

  • 相关阅读:
    关闭编辑easyui datagrid table
    sql 保留两位小数+四舍五入
    easyui DataGrid 工具类之 util js
    easyui DataGrid 工具类之 后台生成列
    easyui DataGrid 工具类之 WorkbookUtil class
    easyui DataGrid 工具类之 TableUtil class
    easyui DataGrid 工具类之 Utils class
    easyui DataGrid 工具类之 列属性class
    oracle 卸载
    “云时代架构”经典文章阅读感想七
  • 原文地址:https://www.cnblogs.com/hadex/p/6849766.html
Copyright © 2011-2022 走看看