2017-02-25 71 views
1

我有以下的正則表達式:正則表達式:如何覆蓋全局區分大小寫修飾符當我無法刪除它?

/I_CAN_MODIFY_ONLY_THIS/i 

我不能刪除i全球改性劑。我唯一能做的就是放置一些東西來代替I_CAN_MODIFY_ONLY_THIS。有沒有辦法來覆蓋全局大小寫不敏感?

像這樣的東西顯然存在:(?i)caseless(?-i)cased(?i)caseless,但我不能讓它工作。 source

編輯: 顯然內嵌模式修飾符不會在正則表達式引擎的工作,我需要在這裏使用

回答

1

這些被稱爲「內聯模式修飾符」

如果你已經嘗試過,並沒有工作,然後我黯然認爲簡單的答案是否定的。

有不同的口味/引擎/實現,有些支持這一點,有些則不支持。所以這一切都取決於如何運行正則表達式。

一些支持它只是在開始,覆蓋任何列出的外部,而其他人支持放置在正則表達式的中間。

在您鏈接到同一個網站,他們提供了香精的比較 - 從這裏我趕緊編輯這個名單:

串聯模式修改器支持

開始或中間: Python的

剛剛開始: JGsoft,.NET,Java,Perl,PCRE,PCRE2,PHP,Delphi,R,XRegExp,Ruby,Boost(ECMA),Tcl ARE

一點也不:的JavaScript,VBScript中,性病::正則表達式,POSIX BRE,GNU BRE,GNU ERE,甲骨文,XML,XPath的

http://www.regular-expressions.info/refmodifiers.html

0

是的,你可以通過使用內嵌區分大小寫的標誌(?-i)覆蓋,敏感的全球情況。因此,正則表達式因爲這將是

(?-i)i_can_modify_only_this 

看到demo/explanation

+0

他們提到在他們的問題,他們已經嘗試這樣做,這不是工作 – Theo

+0

,但他們包括一個例子,表明他們知道如何使用 – Theo

+0

對不起,讓人困惑!我希望我錯誤地使用它,並有可能將其取消。 – dominikduda

相關問題