捕获组和正则表达式中的i。它是什么?

时间:2016-04-19 17:43:10

标签: regex

我不理解长期正则表达式的这一部分:

(?i)(jpg|jpeg|gif|png)(?-i)\z/

再次括号是什么?它是一个捕获组吗?捕获组中的i标志是什么?

我认为我理解的唯一部分是|最后是\ z。

1 个答案:

答案 0 :(得分:1)

在Ruby中

  

(?i) - 启动区分大小写模式

     

(jpg | jpeg | gif | png) - 捕获组以从中选择任何一个(例如   不敏感的)

     

(? - i) - 结束区分大小写模式(只有(?i)和(?-i)之间的部分不区分大小写)

正则表达式细分

(?i) #Start of case insensitive mode (Whatever follows will be matched irrespective of being lower case or upper case)
  (  #Capturing group
    jpg|
    jpeg|  #Select any one of them
    gif|
    png
  )  #End of capturing group
(?-i) #End of case insensitive mode
\z  #Can match after line break