1

perforce デポのパスは次の形式です。

//depot/solution/project/file.cs#232

「file.cs」だけを抽出するにはどうすればよいですか。私は以下を試しました。

[^//]*$

「#1」部分を削除する方法がわかりません。誰でも助けてもらえますか?

4

3 に答える 3

6

これにより、ファイル名の後に # がなくてもファイル名が検索されます。

(\w+\.\w+)[^/]*$

説明:

(\w+\.\w+)

これはファイル名自体と一致し\w、単語の文字です ( と同じ[a-zA-Z0-9_])。したがって、その 1 つ以上の単語文字、ピリオド (それ自体は任意の文字に一致します。実際の に一致させる.必要があります)、次に 1 つ以上の単語文字です。\..

[^/]*

ではない 0 個以上の文字に一致し/ます。しかし、すべての単語文字は前に一致に入れられます\w+(最初に評価さ+れ、可能な限り一致しようとするため)。したがって、あなたの例では、これは#200

$

行末に一致します。これは必要なのでa.directory一致しません/a.directory/file.txt

于 2013-11-14T10:15:33.697 に答える
2

次の正規表現を使用できます。

/\/([^\/#]*)#/

そして、あなたの値に一致したグループ#1を使用してくださいfile.cs

于 2013-11-14T10:13:41.937 に答える
1

PCREを使用していると仮定すると、次のパターンを使用できます。

'[^/]*(?=#)'
于 2013-11-14T10:13:40.977 に答える