我有以下正则表达式:
/I_CAN_MODIFY_ONLY_THIS/i
我无法删除i
全局修饰符。我唯一能做的就是用I_CAN_MODIFY_ONLY_THIS
代替。{1}}。有没有办法覆盖全局不区分大小写?
这样的东西显然存在:(?i)caseless(?-i)cased(?i)caseless
,但我无法使其发挥作用。 source
修改 显然,内联模式修饰符在我需要使用的正则表达式引擎中不起作用
答案 0 :(得分:1)
这些被称为"内联模式修饰符"
如果你已经尝试过,而且它没有工作那么可悲的是我认为简单的答案是否定的。
有不同的口味/引擎/实施,有些支持这个,而其他人则不支持。所以这一切都取决于正则表达式是如何运行的。
一些人在一开始就支持它,覆盖任何列出的外部,而其他人支持放置在正则表达式的中间。
在您链接的同一网站上,他们提供了Flavors的比较 - 从这里我快速编译了这个列表:
开始或中间: Python
刚刚开始: JGsoft,.NET,Java,Perl,PCRE,PCRE2,PHP,Delphi,R,XRegExp,Ruby,Boost(ECMA),Tcl ARE
完全没有: Javascript,VBScript,std :: Regex,POSIX BRE,GNU BRE,GNU ERE,Oracle,XML,XPath
答案 1 :(得分:0)