1

ドライブ上のいくつかのフォルダーを分類していますが、この正規表現を使用して低品質のファイルを除外したいと考えています (これは機能します)。

xvid|divx|480p|320p|DivX|XviD|DIVX|XVID|XViD|DiVX|DVDSCR|PDTV|pdtv|DVDRip|dvdrip|DVDRIP

一部のファイル名は高解像度ですが、ファイル名にはまだ DVD または XviD が含まれていますが、1080p、720p、1080i、または 720i も含まれています。上記のものと一致する単一の正規表現が必要ですが、これらの単語 1080p、720p、1080i、または 720i を除外します。

4

3 に答える 3

2

2 つの正規表現を使用する

一致するかどうかを調べるもの

1080p|720p|1080i|720i

それが一致しない場合、つまり、上記の一致が見つからない場合は、一致を確認します。

xvid|divx|480p|320p|DivX|XviD|DIVX|XVID|XViD|DiVX|DVDSCR|PDTV|pdtv|DVDRip|dvdrip|DVDRIP

正規表現は逆一致をサポートしていません。否定的なルックアラウンドを使用できますが、このタスクでは適切とは言えません。のすべてのケースをチェックする1080p-divxときに、否定的な先読みを行いますが、 をキャッチしません。単純な正規表現divx-10bit-1080pではこれを達成できませんでした。

于 2013-05-08T13:26:48.933 に答える
1

これには否定先読みを使用できます

^(?!.*(?:1080p|720p|1080i|720i)).*(?:xvid|divx|480p|320p|DivX|XviD|DIVX|XVID|XViD|DiVX|DVDSCR|PDTV|pdtv|DVDRip|dvdrip|DVDRIP)

これは検索文字列に一致しますが、文字列にもある場合は失敗1080p|720p|1080i|720iします。

于 2013-05-08T13:27:03.620 に答える