サーバーパスを表す次の3つのパスの例を考えると、PCRE正規表現を介してFTPクライアントのスキップリストを作成しようとしていますが、望ましい結果が得られないようです。
/subdir-level-1/subdir-level-2/.../Author1_-_Title1-(1234)-Publisher1
/subdir-level-1/subdir-level-2/.../Author2_-_Title2_(5678)-PUBLiSHER2
/subdir-level-1/subdir-level-2/.../Author3_-_Title3-4951-publisher3
で終わらないすべてのフォルダー(パスではない)をスキップしたい
-Publisher1
このオンラインヘルプとこの正規表現テスターの助けを借りて作業パターンを作成しようとしていますが、この否定的な先読みパターンよりも先に進むことはできません
.*-(?!Publisher1)
しかし、このパターンではすべての行が一致します。これは、すべての行で、パターンまでの部分文字列にすべてパターンが含まれていないためです。
/subdir/subdir/.../Author1_-_Title1-(1234) -Publisher1
/subdir/subdir/.../Author2_-_Title2_(5678) -PUBLiSHER2
/subdir/subdir/.../Author3_-_Title3-4951 -publisher3
私の間違いは何ですか?スキップする行として2行目と3行目のみを一致させ、最初の行を保持するのは正しいパターンですか?
編集して、何を強調し、何を強調しないかを明確にします。
パスの先頭から最後のスラッシュまでのすべてを無視する (許可する) 必要があります。定義された正規表現に一致する最後のスラッシュの後のすべてをスキップする必要があります。
赤い部分だけに一致する高度なパターンを提示するための編集
[^/]*(?<!-Publisher2)$