前言:
个人学习记录
一、什么是正则表达式:
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。
正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
二、直接上几个例子,先看看他是用来干嘛的:
三、自定义字符集用法:
看不懂例子?
没关系,现在来初步了解一番用法:
OK啊,现在分析一波:
1、此时输入的id为123,在字符集内,所以可以匹配到
2、匹配到了1,附和匹配规则规定的,所以会输出:输入合法:
这个例子可用于sql绕过(仅用作举例,真是情况往往没这么简单),比如当匹配规则,只匹配小写字符时,
便可利用大写字符,这样输入也合法,sql语句也可执行。
四、关键字:
1、关键字:
解释:
①1*表示匹配1,0次或多次。
在121中,1匹配一次,2一次,1一次,然后空格一次,共4次。
在11111中,多个1只匹配一次,然后空格一次,共2次。
②1+表示匹配1,1次或多次。
在1211中,1匹配一次,2匹配0次不算,11匹配一次,总共2次;
在111111中,一共匹配1次;
2、限定符:
举例:
解释:5个0时,前三个匹配一次,后面两个凑不成三个,不匹配