[問題] 請問例外的寫法

看板RegExp (正規表示式 Regular Expression)作者時間12年前 (2012/03/22 00:42), 編輯推噓0(006)
留言6則, 3人參與, 最新討論串1/4 (看更多)
語言:C++ TR1 Regular Expressions 環境:gdipp內的xml設定檔 http://code.google.com/p/gdipp/wiki/SETTING_Beta 由於原本該程式設計的邏輯為exclusion list(不渲染的黑名單), 我想利用RE寫出白名單的表示式,不過只找到'^'於[]有except的作用, 但只能對[]內的字元作成例外條件。 換句話說,有無寫法可以對字串作為例外條件,也就是某字串以外的輸入皆符合? 這是一個網站提供的範例 ((?!(notepad|mspaint)\.exe).)* 但執行結果不正確:( 有請各位幫忙!謝謝! 不好意思,似乎我表達的有些模糊,下面作點補充。 gdipp是個字體渲染的軟體,能以編輯xml內容作設定,其中部分內容如下: <exclude> <process>conhost\.exe</process> <process>dwm\.exe</process> <process>logonui\.exe</process> <process>service\.exe</process> <process>spoolsv\.exe</process> <process>svchost\.exe</process> <process>taskhost\.exe</process> <process>userinit\.exe</process> <process>werfault\.exe</process> <process>wininit\.exe</process> <process>winlogon\.exe</process> </exclude> 上述的描述是讓conhost.exe、dwm.exe等系統執行程序不使用gdipp的渲染。 由於我只想對特定一兩個程式使用gdipp渲染字體,依照上述的寫法,我必須把所有可能的執行檔名稱加入上面的列表,將會十分不方便。 所以想利用該程式支援的RE表達(例如:notepad.exe及mspaint.exe以外的所有*.exe)加入上述的exclude process -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.226.26.220 ※ 編輯: xvid 來自: 125.226.26.220 (03/22 00:46)

03/22 14:41, , 1F
你直接在程式中改成不符合的就可以了吧?
03/22 14:41, 1F

03/22 15:43, , 2F
不符合的?
03/22 15:43, 2F

03/23 11:51, , 3F
列出一堆字串然後標出你想要的,可能比較容易表達清楚
03/23 11:51, 3F
※ 編輯: xvid 來自: 125.228.175.254 (03/23 13:32)

03/25 11:02, , 4F
我的意思是,在你用RE比對的地方改成不符合的就執行
03/25 11:02, 4F

03/25 11:02, , 5F
不過如果你沒辦法改程式的原始碼的話,這招就不行了
03/25 11:02, 5F

03/25 13:09, , 6F
改原始碼的確也是種方法啦...
03/25 13:09, 6F
文章代碼(AID): #1FQWJYKb (RegExp)
文章代碼(AID): #1FQWJYKb (RegExp)