正则

Bugku 字符?正则?

﹥>﹥吖頭↗ 提交于 2019-12-06 00:58:35
打开是一段中规中矩的 php 代码 先读一下代码 高亮文件 2.php 定义变量 key 定义变量 IM 其值是一个正则表达式匹配的结果 如果 IM 是真就输出 key 所以这道题的关键也就是 IM 正则匹配的结果了,我们只需要让其为 1 即可。 先分析下他在如何匹配 匹配函数里共有三段,第一段是匹配方式,第二段是字符串,第三段是参数,这里的 math 似乎没有什么作用。。。然后字符串就是经过 trim 函数处理后的 GET 传入 id 值,因为这里 trim 函数中没带其他参数,所以这里就是返回删除了 NULL ,制表符换行垂直制表符回车空格后的值 关键点就是我们传入的 id 要与前面的代码匹配,分析匹配内容 key (排除换行)(匹配前面的字符 0 次或多次) key (排除换行)(至少匹配 4 次至多匹配 7 次) key 两次转义 /\ ((排除换行)匹配 0 次或多次 key )匹配小写字母匹配任何标点符号(不分大小写) 最后构造出我们的 id : keykeyaaaakey:/a/keya: 得到 flag 来源: https://www.cnblogs.com/wosun/p/11954870.html

字符串篇

烈酒焚心 提交于 2019-12-06 00:05:19
字符串(String、String Buffer、StringBuilder)常用方法 原文链接:https://www.cnblogs.com/116970u/p/11495096.html 1.String 1 1.获取: 2 1)获取字符串str长度 3 int i = str.length(); 4 2)根据位置(index)获取字符 5 char c = str.charAt(index); 6 3)获取字符在字符串中的位置 7 int i =str.indexOf(char ch); //获取的是第一次出现的位置 8 int i =str.indexOf(char ch ,int index); //从位置index后获取ch出现的第一次的位置 9 int i =str.indexOf(str1) ;// 获取str1 在str 第一次出现的位置 10 int i=str.indexOf(str1, index0);//获取从index位置后str第一次出现的位置 11 int i = str.lastIndexOf(ch或者 str1) //获取ch或者str1最后出现的位置 12 13 2.判断 14 1)判断是否以指定字符串str1开头、结尾 15 boolean b = str.startWith(str1) //开头 16 boolean b = str

正则

只愿长相守 提交于 2019-12-05 17:01:58
/*英文,数字,下划线,横线*/ var imageName = (rule, value, callback) => { const reg = /^[A-Za-z0-9-\_]+$/; if (reg.test(value)) { callback(); } else { return callback(new Error('请输入英文,数字,下划线,横线')); } }; /*中文,英文,数字,下划线,横线*/ var imageName = (rule, value, callback) => { const reg = /^[\u4e00-\u9fa5A-Za-z0-9-\_]+$/; if (reg.test(value)) { callback(); } else { return callback(new Error('请输入中文,英文,数字,下划线,横线')); } }; 来源: https://my.oschina.net/u/3774949/blog/3133850

JavaScript正则表达式(JavaScript:The Definitive Guide笔记)

谁都会走 提交于 2019-12-05 12:53:32
//1.0 字符类 [...] 方括号内的任意字符 [^...] 不再方括号里面的任意字符 . 除换行符和其他Unicode行终止符之外的任意字符 \w 任何ASCII字符组成的单词,等价于[a-zA-Z0-9_] \W 任何不适ASCII码字符组成的单词,等价于[^a-zA-Z0-9_] \s 任何Unicode空白符 \S 任何非Unicode空白符 \d 任何ASCII数字,等价于[0-9] \D 任何非Unicode数字,等价于[^0-9] [\b] 退格直接量(特例) 方括号里面也可以有特殊的转义字符,例如[/\d\s/]匹配任意空白符或者数字 //1.1 重复 {n,m} 匹配前一项至少n次,但不能超过m次 {n,} 匹配前一项至少n次或者更多次 {n} 匹配前一项至少n次 ? 匹配0次或者1次,等价于{0,1} + 匹配1次或者多次,等价于{1,} * 匹配0次或者多次,等价于{0,} //some examples: /\d{2,5}/ //匹配2~5个数字 /\w{3}\d*/ //匹配单个单词和0个或多个数字 /\s+java\s+/ //匹配前后有一个或多个空格的java //1.2 选择、分组和引用 字符"|"用于分隔供选择的字符,/android|iphone|ipod/可以匹配android,也可以匹配iphone或者ipod,匹配次序是从左至右的,

php5.3开始出现的Function ereg() is deprecated Error问...

99封情书 提交于 2019-12-05 08:49:00
PHP 5.3 ereg() 无法正常使用,提示“Function ereg() is deprecated Error”。问题根源是php中有两种正则表示方法,一个是posix,一个是perl,php6打算废除posix的正则表示方法所以后来就加了个preg_match。此问题解决办法很简单,在ereg前加个过滤提示信息符号即可:把ereg()变成@ereg()。这样屏蔽了提示信息,但根本问题还是没有解决,php在5.2版本以前ereg都使用正常,在5.3以后,就要用preg_match来代替ereg。所以就需要变成这样,原来: ereg ( " ^[0-9]*$ " , $page ) 变成: preg_match ( " /^[0-9]*$/ " , $page ) 特别提醒:posix与perl的很明显的表达区别就是是否加斜杠,所以与ereg相比,后者在正则的前后分别增加了两个”/”符号,不能缺少。 Tips:此问题在php5.2之前版本不会出现。 来源: oschina 链接: https://my.oschina.net/u/187928/blog/36817

正则学习

社会主义新天地 提交于 2019-12-05 07:01:00
1.元字符 2. 简写 3.回溯引用   引用前一个表达式,当前一个表达式满足时   eg :匹配所有<h*></h*>的内容      文本: <h1>正则表达式</h1> Content is divided into two sections; <h2>subTitle</h2> another line正则:<(h[1-6])>.*?<\/(\1)> 用"()" 标记要引用的正则块 即(h[1-6]) 后边用(\1) 来引用第一个子表达式    <h1>正则表达式</h1>   Content is divided into two sections;    <h2>subTitle</h2>   another line 4.前后查找(前后限定) Symbol Description 描述 ?= Positive Lookahead 正向前查找true ?! Negative Lookahead 正向前查找false ?<= Positive Lookbehind 反向查找true ?<! Negative Lookbehind 反向查找false 1. ?=   查询 以" fat"结尾的The 或the ,但是不要fat "(T|t)he(?=\sfat)" => The fat cat sat on the mat.   2.?!   查询 不是以" fat

JAVA-正则例子记录

此生再无相见时 提交于 2019-12-05 06:19:46
正则表达式在筛选字符串的时候特别有用,但有时候会记不得语法,除了一些常用的匹配,有些自己用到的需要记下来,以便以后查找 PS:Regexper是JS风格的正则,所以JAVA中的\需要\\ 筛选包名 例如: com.test.dto.demo.dto想要替换成:com.test.po.demo.po 表达式: ^*\\.dto$|^*\\.dto(?=\\.)$* 匹配大小写名字 PS: []中匹配一个字符,可以加范围如:A-Za-z0-9 例如 XXXQuery XXXquery XXXQUERY 表达式 ^*[qQ][uU][eE][rR][yY]$ 格式化字符串 对字符串中的空格,回车进行排除 \s*|\t|\r|\n 来源: https://www.cnblogs.com/liangwen/p/11909799.html

Bugku-web-字符?正则?

邮差的信 提交于 2019-12-05 04:02:49
题目意思很明显,根据给出的规则构造出合理的正则表达式然后通过get方式提交弹出Flag。 i:字体大小 /..../表示开始和结束。 .号表示匹配0-9任一数字 *号表示重复前一个字符多次 {4,7}表示匹配前一个字符4-7次 \符号表示匹配\后面的内容,\/.\/表示 /数字/ [a-z]表示匹配a-z任意一个字符 [:punct:]表示匹配任意一个标点符号。 那么我们最后构造的正则表达式为:key666key66666key:/6/666keyx, 然后get方式提交 ?id= key666key66666key:/6/666keyx, 来源: https://www.cnblogs.com/HelloCTF/p/11904493.html

Jmeter-----跨线程组传递cookies值

僤鯓⒐⒋嵵緔 提交于 2019-12-05 03:11:16
在做性能测试的时候,经常会用到Jmeter,但是有一种情况估计大家都会碰到,并且很多人 都不知道怎么处理,就是跨线程组传递某个值。 比如一个直播软件,在你登录成功后,会有个cookies值,之后不管做什么操作都会去检验 这个cookies,每个session都要求带,以便验证用户身份。 以下是我做某个直播软件的实例:(请先看上一篇Jmeter----正则提取器,不然会看不懂 的>_<) 把上一篇正则提取出的TSSID传给另外一个线程组使用 1、 在正则提取下并列添加后置处理器BeanShell PostProcessor 2、 在Script出添加图片中的脚本 说明:使用__setProperty函数,后面使用__P函数调用 3、 在另外一个线程组调用传递的TSSID Ok,跨线程调用值就算成功了。 交流 QQ群:610845268 来源: CSDN 作者: n_laomomo 链接: https://blog.csdn.net/niedongri/article/details/70255656

常用正则

。_饼干妹妹 提交于 2019-12-05 02:25:11
1.获取中括号,小括号,大括号内容 var str="123{xxxx}456[我的]789123[你的]456(1389090)789"; var regex1 = /\((.+?)\)/g; // () 小括号 var regex2 = /\[(.+?)\]/g; // [] 中括号 var regex3 = /\{(.+?)\}/g; // {} 花括号,大括号 // 输出是一个数组 console.log(str.match(regex1)); console.log(str.match(regex2)); console.log(str.match(regex3)); 2.获取中括号里面内容,不包括中括号 var str="123{xxxx}456[我的]789123[你的]456(1389090)789"; var regex2 = /(?<=\[)(.+?)(?=\])/g; 来源: https://www.cnblogs.com/ckmouse/p/11897649.html