\ 這是引用符,用來將這裡列出的這些元字元當作普通的字元來進行匹配
[[:punct:]]代表任意乙個字元,包括各種符號
「?:」非獲取匹配,匹配冒號後的內容但不獲取匹配結果,不進行儲存供以後使用。
單獨的「?」:匹配前面的子表示式零次或一次。
「@」在寫檔案路徑時的作用是忽略轉義字元
正規表示式中,為了防止編譯器將某些字元作為c#語言來識別,截斷該字串的情況,在該字串前加乙個"@"就是告訴編譯器,這些特殊字元是作為字串中的一部分存在的,編譯器就不會去編譯它了. 比如路徑前加乙個@,路徑中的/就不會被編譯了
正規表示式的和()
1.(?:abc)表示找到這樣abc這樣一組,但不記錄,不儲存到 $變數中,否則可以通過 $x取第幾個括號所匹配到的項,比如:(aaa)(bbb)(ccc)(?:ddd)(eee),可以用$1獲取(aaa)匹配到的內容,而$3則獲取到了(ccc)匹配到的內容,而$4則獲取的是由(eee)匹配到的內容,因為前一對括號沒有儲存變數
2.a(?=bbb) 順序環視 表示a後面必須緊跟3個連續的b
3.(?i:***x) 不區分大小寫
4.(?s:.*) 跨行匹配.可以匹配回車符
圓括號可以匹配多個連續的字元,而一對方括號只能匹配單個字元
5.(ab),就表示ab一起連續出現最少1次,最多3次。
6.[(a)],會匹配 ( 和 a 和 ) 和這三個字元。
–(a.)*表示匹配字母a和任意字元的組合若干次,而a.*表示匹配乙個字母a和若干個任意字元。
更多正則匹配
trim()函式:移除字串兩側的字元
trim(string,charlist)
比如echo trim($str,「hed!」); #輸出的就是str字串中除去hed!的部分
trim的意思是修建
preg_match() 函式:用於進行正規表示式匹配,成功返回 1 ,否則返回 0 。
preg_match() 第一次匹配成功後就會停止匹配,如果要實現全部結果的匹配,即搜尋到subject結尾處,則需使用 preg_match_all() 函式。
die()函式:停止程式執行,輸出內容
die(),exit(),return的區別
exit(0):正常退出
exit(1):非正常退出
return是關鍵字,exit()和die()是函式
來個符合正則的就可以得到flag了
?id=key22key3333key:/3/3keya:
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...