这是一个简单题,不过可以用来练练正项表达,小白所写,大佬见谅


进入链接


由代码知这是可以通过GET传参得到Flag(就是在地址栏操作),我们来看看题目的问题

/key.*key.{4,7}key:/./(.*key)[a-z][[:punct:]]/i

典型的正则表达式,显然问题的解决方案就是在地址栏传参,使得id符合正则表达式,即可得到flag
由于我这篇是新手食用篇,所以,我在此介绍一下正则表达式的基础相关知识

^:匹配一行字符串的开头
. : 匹配任意字符,除了换行符
[…]:匹配括号中的任一个,[amk] 匹配 ‘a’,‘m’或’k’
[^…]: 不在[]中的字符:[^abc] 匹配除了a,b,c之外的字符
*:匹配0个或多个的表达式
+:匹配1个或多个的表达式
?:匹配0个或1个由前面的正则表达式定义的片段,非贪婪方式

开始看题
/key.*key.{4,7}key:/./(.key)[a-z][[:punct:]]/i
我们将正则表达式拆开
/key
.

key
.{4,7}
key:
/
.
/
(.*key)
[a-z]
[[:punct:]]
/i
这样看的话是不是就清晰多了,开始匹配吧,/key,‘/’代表所有正项匹配的开始,key为固定不变的字符串
第一段匹配为 key

.是可以任意匹配一个字符,*是匹配前边的字母0次或者多次,所有.*就是可以输入任意个字符,这里我输入aaaa,接上面的匹配的字符串为 keyaaaa

key为字符串,匹配的就是key,接上面就是 keyaaakey

.{4,7}是匹配任意4—7个字符,我这里就就写为aaaaa,接上面就是 keyaaakeyaaaaa

“key:”也和key一样,就是多了:,接上面 keyaaakeyaaaaakey:

/中的“\”,是转义字符,因为“/”是代表所有正项匹配的开始,我们需要将它变成普通的“/”,所以就用“\”,接上面就是 keyaaakeyaaaaakey:/

.是代表任意一个字符,我这就用a,接上面keyaaakeyaaaaakey:/a

又有一个“/",接上面 keyaaakeyaaaaakey:/a/

(.*key)是代表任意个字符后加key,括号的的意义就是这个.*key优先组合,接上面 keyaaakeyaaaaakey:/a/aaakey

[a-z]代表任意在a到z一个小写字母,这里我就用a,接上面 keyaaakeyaaaaakey:/a/aaakeya

[[:punct:]]表达任意一个ASCLL标点字符,这里我用逗号“,”,接上面 keyaaakeyaaaaakey:/a/aaakeya,(,为英文状态下的逗号)

/i表示不分大小写

这里我匹配对应的正项式为 keyaaakeyaaaaakey:/a/aaakeya,

接下来我们就把我们匹配的式子传进id


此题结束

BugKu——字符?正则?小记相关推荐

  1. java 字符正则匹配算法_算法之字符串——正则表达式匹配

    难度 困难 请实现一个函数用来匹配包含'. '和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(含0次).在本题中,匹配是指字符串的所有字符匹配整个模式 ...

  2. 富文本编辑器处理过的字符串部分字符正则捕获不到,含有不可见字符\u200B

    问题: 通过正则筛选富文本编辑器内容时,部分浏览器会偶尔遇到正则与要捕获的内容一样,却捕获不到数据的问题. 原因: 通过word或其他文本处理软件复制出来的数据会有一部分特殊参数,粘贴到富文本编辑器后 ...

  3. pgsql 筛选中文字符正则_「每日一练」巧用Python对字符串进行筛选

    无论是哪一门语言,都会经常用到正则表达式,无论是网络爬虫,还是数据处理等都经常会用到数据匹配,那么你会在Python中用正则表达式对字符串进行筛选吗? 往下看,就是这么简单! 案例 a = " ...

  4. pgsql 筛选中文字符正则_匹配中文字符的正则表达式

    匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一 ...

  5. linux如何正则匹配删除一行,shell sed命令匹配替换删除最后第一行字符正则表

    只显示每行的第一个单词 [root@localhost ~]# sed -r 's/([^0-9a-Z]+)(.+)//gp' passwd root bin daemon adm 打印每行3次:se ...

  6. pgsql 筛选中文字符正则_postgresql varchar字段regexp_replace正则替换

    1.替换目标 1).contact字段类型 varchar. 2).去掉字段中连续的两个,每个等号后面数字不同,effective_caller_id_name=051066824513,effect ...

  7. 正则小记 javascript

    源码: var strings = "http://www.baidu.com?ni=10"; regs = /\?.*/g alert(regs.exec(strings)); ...

  8. pgsql 筛选中文字符正则_PostgreSQL正则及模糊查询优化

    1.带前缀的模糊查询  ~'^abc' 可以使用btree索引优化 create index idx_info on table_name(info) 2.带后缀的模糊查询  ~'abc$' 可以使用 ...

  9. pgsql 筛选中文字符正则_PostGreSql 判断字符串中是否有中文的案例

    我就废话不多说了,大家还是直接看代码吧~ 实例 imos=# select 'hello' ~ '[\u2e80-\ua4cf]|[\uf900-\ufaff]|[\ufe30-\ufe4f]'; ? ...

最新文章

  1. 快速区域积分直方图实现
  2. Win32和MFC项目如何输出调试信息到VS的调试窗口
  3. Java 8怎么了:局部套用vs闭包
  4. 腾讯员工干满15年可选择“提前退休”!
  5. django定义模型类-14
  6. 方法重写(override)注意事项和使用细节
  7. 存储管理实验linux,07-存储管理器实验
  8. bootstrap按钮组(二)
  9. PHP递归写入MySQL无限级分类数据
  10. python2020个税_2020年你会算个人所得税吗?没关系,python脚本帮助你!
  11. LLVM CLANG 3.1 GCC 4.7 INTEL CORE I7 BENCHMARKS
  12. SQL优化工具SQLAdvisor使用(转)
  13. Axure rp8.1.0.3381激活码(亲测可用)
  14. 使用HTML语法图文混排
  15. Android模拟器加载自定义镜像
  16. 小样本算法库LibFewShot
  17. [转载]matlab中分号、冒号、逗号等常用标点符号的作用
  18. 为什么电源层可以作为信号参考平面
  19. openwrt折腾记3-开通ipv6(二级路由)
  20. 德语语法笔记——名词的变格

热门文章

  1. 抖音矩阵号运营是什么?如何开发及布局
  2. QQ传文件的功能测试用例设计
  3. 小米扫地机器人参数以及芯片参数
  4. 基于龙芯2K1000移植uboot之DDR
  5. 网站 服务器壁垒,卖贝商城为你详解2016年服务器存储壁垒被打破的预测
  6. yolov5 调用 usb 摄像头
  7. 利用GEE(Google Earth Engine)在线处理NDVI、EVI、SAVI、NDMI等指数归一化教程!
  8. 成语用到颠峰的小学生作文
  9. NLP大火的prompt能用到其他领域吗?清华孙茂松组的 CPT 了解一下
  10. 我的新书《Android自定义控件入门与实战》出版啦