※ 引述《xvid ()》之铭言:
: 语言: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
conhost.exe
dwm.exe
logonui.exe
service.exe
spoolsv.exe
svchost.exe
taskhost.exe
userinit.exe
werfault.exe
wininit.exe
winlogon.exe
notepad.exe
mspaint.exe
\w+(?<!notepad|mspaint)\.exe
会得到前11个
不知道是不是你说的意思
另
该软件只能exclude不能include吗?
可以的话就不用那么麻烦了 ^ ^;