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字符 的字符串

    ...

  • 相关阅读:
    MQTT TLS 加密传输
    python多进程并发redis
    各种消息队列的特点
    mqtt异步publish方法
    Numpy API Analysis
    Karma install steps for unit test of Angular JS app
    reinstall bower command
    Simulate getter in JavaScript by valueOf and toString method
    How to: Raise and Consume Events
    获取对象的类型信息 (JavaScript)
  • 原文地址:https://www.cnblogs.com/hadex/p/6849766.html
Copyright © 2011-2022 走看看