在 Ruby 的正则表达式中,您可以使用以下语法命名捕获:
/(?<name>…)/
您可以使用以下语法在非捕获组中打开/关闭 m/i/x 选项:
/(?i:[a-z])/
有没有办法将两者结合在一个组中?
所有这些工作,但我想知道是否有更简单的选择:
/(?i:(?<name>…))/ # case-insensitive just within the region
/(?<name>(?i:…))/ # case-insensitive just within the region
/(?i)(?<name>…)(?-i)/ # case-insensitive turned on, then turned off