我的任務是確定一個字符串是否應該導致在我的C#命令處理器中引發一個命令,這可以在運行時配置。確定正則表達式是否相互抵消
我有兩個正則表達式集合。對於第一個集合「EnabledPatterns」,如果任何一個模式匹配命令字符串,則啓用該命令。對於第二個'DisabledPatterns',如果任何模式匹配命令字符串,則該命令被禁用。可能存在重疊,EnabledPattern中的模式與DisabledPattern中的模式匹配相同的字符串。例如:。
EnablePatterns包含^ ABC $ DisabledPatterns包含^ A * $
鑑於上面的例子中我想除去EnabledPatterns條目,從而diabling命令處理用於匹配 'EnabledPatterns' 命令。正則表達式。
有沒有辦法做到這一點作爲一個預處理,每次收集的任何改變,以便我可以建立一個活動,啓用模式的列表,而無需交出命令字符串。我基本上想要確定當重疊部分被移除時是否有可能的匹配。
你的傳入命令流的本質是什麼,我猜想這是你可能的優化的來源。 – Don 2009-11-26 00:29:03
這些命令是結構中的字符串。 for Finance.Transactions.Backup。*例如。我可能想在一天中'啓用'Finance.Transactions.Post。*,但在晚上禁用'Finance'。然而,任務是在沒有命令存在的情況下消除模式 - 無論何時重新更換過濾器,我都需要將它們(用於處理速度)降低到可能的最低數量的模式。在前面的例子中,有效的已啓用模式列表將是空的。 – 2009-11-27 20:15:50