首页 > 其他分享 >正则:一些常用的用法

正则:一些常用的用法

时间:2024-10-25 16:35:58浏览次数:1  
标签:表示 字符 常用 匹配 捕获 用法 正则 hi 分组

一,?:的功能

()表示捕获分组,()会把每个分组里的匹配的值保存起来,
使用$n(n是一个数字,表示第n个捕获组的内容)
(?:)表示非捕获分组,和捕获分组唯一的区别在于,非捕获分组匹配的值不会保存起来

例子:
#该规则表示,如果请求方式是PUT、CONNECT、TRACE、DELETE的任意一种方式,则拦截此次访问

SecRule REQUEST_METHOD "^(?:PUT|CONNECT|TRACE|DELETE)$" "phase:1,id:49,log,block,t:none"

 

二,方括号:

1,

[] :在正则表达式中,[]表示满足括号中任一字符。
     比如“[hi]”,它就不是匹配“hi”了,而是匹配“h”或者“i”。
     如果把正则表达式改为“[Hh]i”,就可以既匹配“Hi”,又匹配“hi”了。

2,

表示数字:   [0-9] 或 \d

3,重复:

*:它表示前面的字符可以重复0次或多次
+:它表示前面的字符可以重复1次或多次

4,

^匹配开始位置
$匹配结束位置

例子:

#该规则表示,如果请求头中的HOST字段的内容为IP地址的话,
则使用deny动作拒绝此次访问,同时向客户端返回400错误

SecRule REQUEST_HEADERS:Host "^[\d\.]+$" "phase:1,deny,id:47,log,status:400,msg:'Host header is a numeric IP address'"

 

标签:表示,字符,常用,匹配,捕获,用法,正则,hi,分组
From: https://www.cnblogs.com/architectforest/p/18502834

相关文章

  • 66openpyxl的遍历读写操作(常用于数据批量读出来和写进去)
     importopenpyxlfromopenpyxlimportWorkbook#常用于数据批量读出来和写进去#往表格写入操作defcreate_wb():#创建一个新的工作簿wb=Workbook()#选择默认的工作表ws=wb.active#假设这是你要写入的数据,4行4列data=[......
  • 如何使用 IDM 下载 M3U8 视频并转换为常用格式图文教程
    M3U8文件通常用于HTTP Live Streaming(HLS)协议,这种格式非常适合在线视频流播放。然而,有时我们需要将这些视频下载到本地,以便离线观看或进行进一步编辑。本教程将指导您如何使用Internet Download Manager(IDM)下载M3U8视频,并介绍如何使用简鹿视频格式转换器将下载的视频转......
  • 数字IC后端实现 | Innovus各个阶段常用命令汇总
    应各位读者要求,小编最近按照Innovus流程顺序整理出数字IC后端项目中常用的命令汇总。限于篇幅,这次只更新到powerplan阶段。有了这份Innovus常用命令汇总,学习数字IC后端从此不再迷路!如果大家觉得这个专题还不错,想继续看数字IC后端实现powerplan之后的内容,欢迎在文末留言区留......
  • 命令行工具cURL 的用法
            cURL(ClientURL)是一个用于在命令行中与URL进行数据传输的工具,广泛用于网络请求和数据交互。它支持多种协议,包括HTTP、HTTPS、FTP、SFTP等。以下是cURL的一些常见用途与功能:1.下载文件你可以使用cURL下载文件到当前目录。例如:curl-Ohttps://exampl......
  • RCE绕过正则表达式_1
    正则表达式一些常见方法关于RCE绕过正则表达式的一些常见方法,可以从以下几个方面进行:1.利用特殊字符和编码:通过使用如URL编码、Unicode编码、十六进制编码等,可以绕过一些简单的正则表达式过滤。例如,将空格替换为%09、%0b或$IFS等,或者使用反引号(\`)和单引号(')来绕过对某些特......
  • 常用的敏捷开发模式有哪些
    常用的敏捷开发模式有:一、Scrum;二、Kanban;三、极限编程(XP);四、迭代开发模式。其中,Scrum是一种最为常用的敏捷开发模式,它强调团队合作、迭代开发和快速响应变化,适用于需要快速交付高质量软件的项目。一、ScrumScrum是一种广泛使用的敏捷开发模式,强调团队合作和迭代开发。在Scru......
  • Linux常用命令
    以下是一些常用的Linux命令及其作用:ls:列出当前目录下的文件和文件夹。cd:切换当前工作目录。pwd:显示当前工作目录的绝对路径。mkdir:创建新目录。rm:删除文件或目录。cp:复制文件或目录。mv:移动文件或目录,也可用于重命名文件。touch:创建空文件或修改文件的访问和修改时间。......
  • CPP vector动态数组的基本用法
    #include<iostream>#include<vector>#include<algorithm>usingnamespacestd;intmain()#defineintlonglong//不能放在主函数之前,因为主函数的返回类型必须是int{ vector<int>v={0,0,0,0}; v.push_back(1); v.push_back(2); v.push_back(2); v.push_back(3......
  • Linux常用命令
    1、cd-切换当前目录这是一个最基本,也是最常用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。cd/root #切换到目录/rootcd./path #切换到当前目录下的path目录中,“.”表示当前目录cd../path #切换到上层目录中的path目录中,“..”......
  • 22. 正则表达式
    一、概述  正则表达式(regularexpression)又称规则表达式,是一种文本模式(pattern)。正则表达式使用一个字符串来描述、匹配具有相同规格的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式的核心功能就是处理文本。正则表达式并不仅限于某一种语言,但是在每种语......