当前位置: 首页 > news >正文

一点正则表达式的学习碎片

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1、主要作用:分割、匹配、查找、替换
2、正则表达式最少要包含一个原子。
3、php正则表达式函数:
  • preg_match(mode,string subject,array matches)以perl语言为基础
  • ereg(mode,string subject,array regs)以POSIX基础
4、正则表达式的原子:
  1. a-z A-Z _ 0-9    //最常见的字符
  2. (abc) (skd)        //单元符合,必须完全匹配
  3. [abcs] [^abd]   //原子表,只要出现其中的元素就行,原子表中的^代表排除或相反内容
  4. 转义字符:
    1. \d   包含所有数字[0-9]
    2. \B   除所有数字外[^0-9]
    3. \w   包含所有常见字符[a-zA-Z_0-9]
    4. \W  除所有常见字符外[^a-zA-Z_0-9]
    5. \s    包含空白区域如回车、换行、分页等[\f\n\r]
5、正则表达式元字符:
     * 匹配前一个内容的0次1次或多次
     .  匹配内容的0次1次或多次,但不包括回车换行
     +匹配前一个内容的1次或多次
     ?匹配前一个内容的0次或1次
     | 选择匹配PHP中的|
     ^匹配字符串首部内容
     $匹配字符串尾部内容
     \b匹配单词边界,边界可以是空格或者特殊符合
     \B匹配除带单词边界意外内容
     {m}匹配前一个内容的重复次数为M次
     {m,}匹配前一个内容的重复次数大于等于M次
     {m,n}匹配前一个内容的重复次数M次到N次
     ()合并整体匹配,并放入内存,可以使用\1 \2 ……一次获取

6、运算顺序:
     ()圆括号是内存处理,优先级最高
     * ? + {} 重复匹配内容其次
     ^ $ \b等边界处理第三
     | 条件处理第四

7、模式修正符
     i 正则内容在匹配的时候不区分大小写(默认是区分的)
     m 在匹配首内容或者尾内容时候才用多行识别匹配
     S 将转义回车取消是为单行匹配(将多行视为一行)
     x 忽略正则中的空白
     A 强制从头开始匹配
     D 强制$匹配尾部无任何内容
     U 禁止贪婪匹配 只跟踪到最近的一个匹配符并结束

转载于:https://my.oschina.net/wddqing/blog/120955

相关文章:

  • 链表分割
  • void*
  • python requests.session 与 requests
  • 爬虫_urlencode问题
  • 如何实现MySQL的自动备份
  • 魔术索引
  • PIC数据采集系统---接口功能测试
  • 字符串排列
  • 数组中的逆序对
  • Windows 8 应用商店应用开发 之 氛围光传感器
  • 子串判断
  • arm汇编程序中的[|]
  • 实时中位数
  • 【spring】IllegalArgumentException Can not set field to $Proxy 在spring中使用事物或AOP遇到的错误...
  • 约瑟夫问题
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • Android单元测试 - 几个重要问题
  • egg(89)--egg之redis的发布和订阅
  • ES学习笔记(12)--Symbol
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • js继承的实现方法
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • JS实现简单的MVC模式开发小游戏
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • RxJS: 简单入门
  • Spring Boot快速入门(一):Hello Spring Boot
  • spring-boot List转Page
  • Unix命令
  • Vue 重置组件到初始状态
  • 初识MongoDB分片
  • 回流、重绘及其优化
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 小程序button引导用户授权
  • 用jquery写贪吃蛇
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​TypeScript都不会用,也敢说会前端?
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • #Linux(make工具和makefile文件以及makefile语法)
  • #WEB前端(HTML属性)
  • #Z2294. 打印树的直径
  • (12)目标检测_SSD基于pytorch搭建代码
  • (20050108)又读《平凡的世界》
  • (Forward) Music Player: From UI Proposal to Code
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (编译到47%失败)to be deleted
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • . NET自动找可写目录
  • .class文件转换.java_从一个class文件深入理解Java字节码结构