正規表示式

2021-08-31 01:24:26 字數 1352 閱讀 8149

\ 這是引用符,用來將這裡列出的這些元字元當作普通的字元來進行匹配

[[: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正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...