perforce デポのパスは次の形式です。
//depot/solution/project/file.cs#232
「file.cs」だけを抽出するにはどうすればよいですか。私は以下を試しました。
[^//]*$
「#1」部分を削除する方法がわかりません。誰でも助けてもらえますか?
これにより、ファイル名の後に # がなくてもファイル名が検索されます。
(\w+\.\w+)[^/]*$
説明:
(\w+\.\w+)
これはファイル名自体と一致し\w
、単語の文字です ( と同じ[a-zA-Z0-9_]
)。したがって、その 1 つ以上の単語文字、ピリオド (それ自体は任意の文字に一致します。実際の に一致させる.
必要があります)、次に 1 つ以上の単語文字です。\.
.
[^/]*
ではない 0 個以上の文字に一致し/
ます。しかし、すべての単語文字は前に一致に入れられます\w+
(最初に評価さ+
れ、可能な限り一致しようとするため)。したがって、あなたの例では、これは#200
$
行末に一致します。これは必要なのでa.directory
一致しません/a.directory/file.txt
次の正規表現を使用できます。
/\/([^\/#]*)#/
そして、あなたの値に一致したグループ#1を使用してくださいfile.cs
PCREを使用していると仮定すると、次のパターンを使用できます。
'[^/]*(?=#)'