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

正则学习笔记

正则匹配字符串就是解析字符串的特征,然后用正则的语言把它表达出来。

推荐两个我使用的文档和工具:

正则表达式入门教程
正则表达式在线测试工具

位置(断言)

\b      匹配单词的开始或结束
^       匹配字符串(行)的开始
$       匹配字符串(行)的结束

字符

.       匹配除换行符(\n)以外的任意字符
\w      匹配字母数字下划线或汉字
\s      匹配任意的空白符    
\d      匹配数字
\n      匹配换行
\r      匹配回车

数量

'*'      匹配零次或多次
'+'      匹配一次或多次
'?'      匹配零次或一次
{n}      重复n次
{n,}     重复n到n+次
{n,m}    重复n到m次

字符类

[character_group]           匹配character_group中任何的单个字符
[^character_group]          匹配不在character_group中的任何单个字符
[first-last]                匹配从第一个到最后一个的范围中的任何单个字符

分组

(exp)               匹配exp,并捕获文本到一个从 1 开始的序号中
(?<name>exp)        匹配exp,并捕获文本到name命名组中
(?:exp)             匹配exp,不捕获,不分配

(?=exp)             零宽度正预测先行断言,匹配exp前面的位置
(?!exp)             零宽度负预测先行断言,匹配后面跟的不是exp的位置
(?<=exp)            零宽度正回顾后发断言,匹配exp后面的位置
(?<!exp)            零宽度负回顾后发断言,匹配前面不是exp的位置

(?>exp)             非回溯(也称为“贪婪”)子表达式

反向引用

\num                后向引用。匹配编号子表达式的值
\k<name>            命名后向引用。匹配命名表达式的值。

选项

i      不区分大小写
m      多行模式(一行相当于一个字符串)
s      单行模式(多行相当于一行)

相关文章:

  • 注解
  • 堆和栈的区别(转过无数次的文章)
  • 我的Python成长之路---第七天---Python基础(21)---2016年2月27日(晴)
  • 进度条2
  • [Unity] Unity3D研究院编辑器之独立Inspector属性
  • 递归案例:汉诺塔问题
  • 三大家族轻松管理CentOS 7网络属性配置
  • 顺序表
  • PSD解析工具实现(二)
  • 细谈asp.net如何处理应用程序-----c#菜鸟日记
  • 如何通过热修复,搞定开发中的那些 Bug?
  • redis 的setnx命令
  • HTML5实战与剖析之媒体元素(6、视频实例)
  • Excel实用操作
  • glance镜像元数据
  • 07.Android之多媒体问题
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • ES6之路之模块详解
  • iOS 颜色设置看我就够了
  • Java到底能干嘛?
  • React Transition Group -- Transition 组件
  • 大整数乘法-表格法
  • 关于 Cirru Editor 存储格式
  • 基于HAProxy的高性能缓存服务器nuster
  • 精彩代码 vue.js
  • 区块链技术特点之去中心化特性
  • 手写一个CommonJS打包工具(一)
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • Java总结 - String - 这篇请使劲喷我
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 选择阿里云数据库HBase版十大理由
  • # 计算机视觉入门
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • ()、[]、{}、(())、[[]]命令替换
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (二)JAVA使用POI操作excel
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)JAVA中的堆栈
  • (转)Sublime Text3配置Lua运行环境
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .NET Core 中的路径问题
  • .Net Core缓存组件(MemoryCache)源码解析
  • .net framework profiles /.net framework 配置
  • .NET MVC之AOP
  • .net wcf memory gates checking failed
  • .Net 路由处理厉害了
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • .NET实现之(自动更新)