1
使用FILTERSPEC我想開一個對話框,選擇一個文件,並顯示具有一定的擴展名的文件,但不包括基於模式匹配(正則表達式或其他方式)的某些文件名,文件名/否定詞。排除在uigetfile
例如,我想顯示CSV文件,而不是那些有「ABC」在他們的文件名。
來顯示所有的.csv文件,我可以做的(不是我想要的):
[filename, pathname] = uigetfile({'*.csv', 'CSV Files (*.csv)'});
使用正則表達式,我可以成功地排除文件名以「ABC」如下(感謝How to negate specific word in regex?):
filenames = {'myfile.csv'; 'myfile-abc.csv'}
regexp(filenames, '^(?!.*abc).*.csv')
但是,以下不工作:
[filename, pathname] = uigetfile({'^(?!.*abc).*.csv', 'CSV Files (*.csv)'});
我怎麼能NEG從文件名中發生了一個詞?看來我只能做正面通配符(*)而不能否定。