POSIX正则表达式
维基百科
POSIX基本表达式 https://en.wikibooks.org/wiki/Regular_Expressions/POSIX_Basic_Regular_Expressions
POSIX扩展正则表达式 https://en.wikibooks.org/wiki/Regular_Expressions/POSIX-Extended_Regular_Expressions
正则表达式 https://en.wikipedia.org/wiki/Regular_expression#Character_classes
GNU
POSIX基本正则 https://www.gnu.org/software/findutils/manual/html_node/find_html/posix_002dbasic-regular-expression-syntax.html
POSIX扩展正则 https://www.gnu.org/software/findutils/manual/html_node/find_html/posix_002dextended-regular-expression-syntax.html
常见的正则 https://www.gnu.org/software/findutils/manual/html_node/find_html/Regular-Expressions.html
CPLUSPLUS.COM, ECMA的,也可以看看
https://cplusplus.com/reference/regex/ECMAScript/
维基百科



那个为什么是vim……
上面还提了一句:POSIX 字符类只能在方括号表达式中使用。例如,匹配大写字母和小写字母“a”和“b”。 [[:upper:]ab]

GNU 翻译
gnu的解释少得可怜。
1. POSIX Basic EXP
基本规则
| 符号 | 作用 |
|---|---|
| ‘\+’ | 匹配1次或更多次前面的模式(one or more) |
| ‘\?’ | 匹配0次或更多次前面的模式 ( zero or more ) |
| ‘+和?’ | 匹配它们本身 |
-
括号表达式(Bracket expressions)用来匹配字符范围。
-
范围向后的括号表达式是非法的,例如
[z-a]。 -
方括号中,'\'就是字面意思。
-
支持字符类;例如
[[:digit:]]会匹配单个十进制数。
分组
反斜杠+括号,用于分组,\(和\)。
反斜杠+数字,用于匹配签名的分组,例如\2匹配第2个分组的表达式。
分组的顺序有其左括号\(的位置决定。
逻辑符号
可选运算符是\|。
^只匹配一个字符串的开头:
- 一个正则表达式的开始
- 在一个未闭合分组(open-group,用
\(表示)之后。 - 在一个
\|之后。
$匹配字符串结尾:
- 在正则表达式结束位置
- 在一个闭合的分组之前(closl-group,用
\)表示) - 在一个
\|之前。
\*,\+和\?这些在除以下几种情况时都表示特殊含义:
- 在正则表达式开头
- 在一个未闭合分组之后(open-group,用
\(表示) - 在一个
\|之后。
通过\{和\}来把值间隔开。但是像a\{1z这样的非法间隔是不被接受的。
返回最长匹配——这对整体、分组中的子表达式都适用。
2. POSIX Extended EXP
基本规则
(注意和上面的有差别)
| 符号 | 作用 |
|---|---|
| ‘+’ | 匹配1次或更多次前面的模式(one or more) |
| ‘?’ | 匹配0次或更多次前面的模式 ( zero or more ) |
| ‘\+’ | 匹配一个加号+ |
| ‘\?’ | 匹配一个问号? |
(下面这4条规则和基本的一样)
-
括号表达式(Bracket expressions)用来匹配字符范围。
-
范围向后的括号表达式是非法的,例如
[z-a]。 -
方括号中,'\'就是字面意思。
-
支持字符类;例如
[[:digit:]]会匹配单个十进制数。
分组
分组用()。一个没配对的)只表示它自己。
\ + 数字依然是反向匹配,例如\2匹配第2个分组表达式。
分组的顺序取决于它们的开括号(。
逻辑符号
可选符号是|。
除了在方括号内时,^和$总是一个表示字符串开头、一个表示字符串结尾。
当在方括号内部时,^也可以用来反选(反转匹配指定的字符)。
*, +, 和?在正则表达式中总是有特殊含义,除了下列情况不被允许:
- 正则表达式开头
- 一个开分组(open-griup)
(的后面。 - 一个
|的前面。
用{和 }来间隔值。a{1z这样的非法间隔不被接受。
返回最长的匹配——这对整体和子表达式均适用。
相关文章:
POSIX正则表达式
维基百科 POSIX基本表达式 https://en.wikibooks.org/wiki/Regular_Expressions/POSIX_Basic_Regular_Expressions POSIX扩展正则表达式 https://en.wikibooks.org/wiki/Regular_Expressions/POSIX-Extended_Regular_Expressions 正则表达式 https://en.wikipedia.org/wiki/R…...
数据分析工具集合:Tableau入门及其他工具简介
目录 一、Tableau简介 1、下载链接 2、使用技巧 二、其他常用数据分析工具 1、Microsoft Excel简介 1.1、下载链接 1.2、使用技巧 2、Python简介 2.1、下载链接 2.2、常用库的安装方式和使用技巧 2.2.1、Pandas 2.2.2、NumPy 2.2.3、Matplotlib 3、R语言简介 3.…...
响应式布局的五种方法
响应式布局的五种方法1.百分比布局2.rem布局3. 媒体查询 media screen4. flex布局5.vw 和 vh响应式布局是同一页面在不同的屏幕上有不同的布局,即只需要一套代码使页面适应不同的屏幕。 1.百分比布局 1.有父元素就相对于父元素 2.没有父元素就相对于视口的大小 举一…...
Javase学习文档------数组
Java 数组是 Java 编程中非常基础和重要的一个知识点。 以下是 Java 数组的主要学习内容: 数组的几个特点 数组在声明时必须指定长度,且长度不可变:数组的长度在声明时就需要确定,一旦确定就不能修改。因此,在使用数组…...
百度高德地图JS-API学习手记:地图基本设置与省市区数据加载
无论是百度还是高德地图开发,还是高德地图开发。官方的给的案例启示很多,copy再修改下,就完成了 概述-地图 JS API | 高德地图API 地图 JS API | 百度地图API SDK 这个大致看一下,我想。有点GIS基础都能完成地图开发。 个人认…...
c语言—指针详解***内存地址***指针字节数***注意事项
创作不易,本篇文章如果帮助到了你,还请点赞支持一下♡>𖥦<)!! 主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步! 给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ…...
VMware虚拟机之WindowsXP系统超详细下载安装与使用教程
文章目录前言一、WindowsXP虚拟机系统下载二、WindowsXP虚拟机系统安装三、WindowsXP虚拟机系统使用总结前言 本博客的主要内容为使用VMware虚拟机下载安装与使用WindowsXP系统,WindowsXP系统虽然早已过时,但是仍对我们的学习有着很大的帮助,…...
【VMD-SSA-LSSVM】基于变分模态分解与麻雀优化Lssvm的负荷预测【多变量】(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
积极心态,助力人生成功
无论生活中遇到多少困难和挫折,只要我们保持积极心态、努力拼搏,就有望最终实现自己的梦想和目标。...
ADRC线性跟踪微分器(ST+SCL语言)
ADRC自抗扰相关算法源代码和公式请参看下面文章链接: ADRC/Matlab一步步实现跟踪微分器TD(附完整PLC测试代码链接)_ladrc线性跟踪微分器差分方程_RXXW_Dor的博客-CSDN博客关于Adrc的理论分析不是本篇博客的重点,主要也是能力所限,相关理论大家可以看韩京清教授的论文,专栏…...
Linux C/C++ 崩溃诊断大师:解锁软件问题定位与修复的秘密武器
让崩溃成为历史:详解有效诊断与解决技巧引言崩溃信息的类型设置信号处理函数(Setting up signal handlers)信号来源和上下文信息使用 siginfo_t 结构体获取信号来源信息使用 ucontext 结构体获取上下文信息将崩溃信息写入日志标准的信号处理函…...
ChatGPT能代替Oracle DBA吗?用Oracle OCP(1z0-083)的真题测试一下。
让我们来看看ChatGPT不能通过Oracle OCP的考试? 文章目录引言测试过程总结和分析关于博主,姚远:Oracle ACE(Oracle和MySQL数据库方向)。Oracle MAA 大师。华为云MVP。《MySQL 8.0运维与优化》的作者。拥有 Oracle 10g和…...
《扬帆优配》二季度投资策略出炉 机构调仓换股露踪迹
随着多家上市公司公告发布,其发表的股东数据使得基金的最新持仓浮出水面。与此同时,组织也在密集调研中寻觅出资时机。站在二季度的起点,基金公司二季度出资策略渐次发表。多家基金公司以为,宏观经济将延续修正态势,仍…...
【SpringMVC】2—传统方式实现增删改查
⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTree 笔记链接👉https://github.com/A-BigTree/Code_Learning ⭐⭐⭐⭐⭐⭐ 如果可以,麻烦各位看官顺手点个star~😊 如果文章对你有所帮助,可以点赞👍…...
图像阈值化
图像阈值化 图像阈值化简介 ⚫ 图像阈值化是图像处理的重要基础部分, 应用很广泛, 可以根据灰度差异来分割图像不同部分 ⚫ 阈值化处理的图像一般为单通道图像(灰度图) ⚫ 阈值化参数的设置可以使用滑动条来debug ⚫ 阈值化处理易光照影响, 处理时应注意 ⚫ 本节主要介绍…...
1.5 极限运算法则
思维导图: 我的理解: 如果一个数列{a_n}是一个无穷小,那么它的极限为0,即lim(n→∞)a_n0。同样地,如果另一个数列{b_n}也是一个无穷小,那么它的极限为0,即lim(n→∞)b_n0。 当我们考虑这两个无…...
首批因AI失业的人出现-某游戏公司裁掉半数原画师
如今各种AI爆火,不可避免的的会与某些功能撞车职业发生冲突,每一次生产力的变革,在带来技术进步与更高效率的同时,也都无可避免的会带来一波失业浪潮,当下的人工智能浪潮自然也不例外。 现在,第一批因为AI…...
字符串转换整数(atoi)
请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C 中的 atoi 函数)。 函数 myAtoi(string s) 的算法如下: 读入字符串并丢弃无用的前导空格 检查下一个字符(假设还未到字符…...
Servlet练习
练习准备 编写Student和StudentDao package beans;public class Student{private String num;private String name;public Student(){}public String getNum() {return num;}public String getName() {return name;}public void setNum(String num) {this.num num;}public v…...
美国高速公路信号灯控制项目的大致逻辑和步骤 智慧公路设计
美国高速公路信号灯控制项目的大致逻辑和步骤: 美国那边先提供一个关于具体做什么需求、那边的设备(信号灯)有什么参数,什么接口,分别是什么属性等等的详细设计文档,开发人员拿到这个文档以后把它看懂&…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...
Vue ③-生命周期 || 脚手架
生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...
Python学习(8) ----- Python的类与对象
Python 中的类(Class)与对象(Object)是面向对象编程(OOP)的核心。我们可以通过“类是模板,对象是实例”来理解它们的关系。 🧱 一句话理解: 类就像“图纸”,对…...
简单介绍C++中 string与wstring
在C中,string和wstring是两种用于处理不同字符编码的字符串类型,分别基于char和wchar_t字符类型。以下是它们的详细说明和对比: 1. 基础定义 string 类型:std::string 字符类型:char(通常为8位)…...
