開啟是一段中規中矩的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:
得到flag
bugku 字元正則
最重要的就是這個正規表示式,key.key.key key a z punct i trim函式是去掉引數裡面的空格或者指定變數 第乙個 是開始定界符,匹配乙個key 表示匹配除了 n外的所有字元,然後再匹配乙個key,表示匹配除 n外的所有字元4到7個,再匹配key 任意字元 任意字元和key 任...
BugKu 字元?正則?小記
這是乙個簡單題,不過可以用來練練正項表達,小白所寫,大佬見諒 進入鏈結 由 知這是可以通過get傳參得到flag 就是在位址列操作 我們來看看題目的問題 key.key.key key a z punct i 匹配一行字串的開頭 匹配任意字元,除了換行符 匹配括號中的任乙個,amk 匹配 a m 或...
bugku之字元?正則?
題目鏈結 highlight file 2.php key key im preg match key.key.key key a z punct i trim get id match if im preg match 執行匹配正規表示式 preg match pattern,subject,ma...