パス内の任意のドットファイルを再帰的に一致させる正規表現を作成しようとしています。私は以下から始まった:正規表現を使用してドットファイルを再帰的に一致させる
^[.]
しかし、これはlong/path/here/.dotfile
の場合と一致しません。また、.
と一致していますが、これは間違っています。正規表現は.
と一致し、少なくとも1文字後に必要です。
パス内の任意のドットファイルを再帰的に一致させる正規表現を作成しようとしています。私は以下から始まった:正規表現を使用してドットファイルを再帰的に一致させる
^[.]
しかし、これはlong/path/here/.dotfile
の場合と一致しません。また、.
と一致していますが、これは間違っています。正規表現は.
と一致し、少なくとも1文字後に必要です。
^\/?(?:\w+\/)*(\.\w+)
^
は - /
(?:\w+\/)*
を先行の可能性 - - 非キャプチャグループのサブディレクトリ・パスの0-infのマッチを見つけるために(例えばlong/path/.../
) (\.\w+)
文字列
\/?
の始まりを意味し - グループをキャプチャして、末尾にある任意のファイルを取得します。.
私は考えることができる方法は
^[\.]
が一致した2つの正規表現です.
(?<=\/)\.
で始まっていないルートディレクトリにあるものは.
続い/
に一致するすべてのサブディレクトリと一致します。テストケース:
.foo
foo.a
/a/.foo
/a/foo.a
/.foo/.asdafsdf
正確に何が '長い/パス/ここに/ .dotfile'の例で捕獲されることになっていますか? –
"から始まる"関数を使用してフィルタをかけた "あなたがそれを見つけたとき? – squiguy
正規表現のマッチングに使用したツール(およびどの言語?) –