1. 程式人生 > >正則表示式 :(?s)(?i)'\\s*+"0.0.0.0"+"\\s*" 前面的(?s)(?i) 表示什麼意思啊?

正則表示式 :(?s)(?i)'\\s*+"0.0.0.0"+"\\s*" 前面的(?s)(?i) 表示什麼意思啊?

        這個是正則表示式的模式修飾符。
  (?i)即匹配時不區分大小寫。表示匹配時不區分大小寫。

  (?s)即Singleline(單行模式)。表示更改.的含義,使它與每一個字元匹配(包括換行 符\n)。

  (?m)即Multiline(多行模式) 。 表示更改^和$的 含義,使它們分別在任意一行的行首和行尾匹配,而不僅僅在整個字串的開頭和結尾匹配。(在此模式下,$的 精確含意是:匹配\n之前的位置以及字串結束前的位置.)
  (?x):表示如果加上該修飾符,表示式中的空白字元將會被忽略,除非它已經被轉義。
  (?e):表示本修飾符僅僅對於replacement有用,代表在replacement中作為PHP程式碼。
  (?A):表示如果使用這個修飾符,那麼表示式必須是匹配的字串中的開頭部分。比如說"/a/A"匹配"abcd"。
  (?E):與"m"相反,表示如果使用這個修飾符,那麼"$"將匹配絕對字串的結尾,而不是換行符前面,預設就打開了這個模式。
  (?U):表示和問號的作用差不多,用於設定"貪婪模式"。