IPFS CID表示可互通的分布式系统中的一段二进制数据。它由一个多哈希算法散列和一个版本控制组成。以下是一些用于匹配IPFS CID的正则表达式示例:
第一种方法:
^Qm[1-9A-HJ-NP-Za-km-z]{44}$
此正则表达式为IPFS的默认多哈希算法SHA-256版本CID适用。
第二种方法:
^(?<multihash>[^/]+)/?(?<path>.*)$
此正则表达式适用于任何CID版本,可以在路径部分中包含任何内容。
以下是一个使用JSON Schema来验证IPFS CID的示例:
{
"$schema": "http://json-schema.org/draft-06/schema#",
"type": "object",
"properties": {
"cid": {
"type": "string",
"pattern": "^(?:(?<multibase>[1-9A-HJ-NP-Za-km-z])?Qm[a-z0-9]{44}|(?<multibase>[1-9A-HJ-NP-Za-km-z])?b[0-9a-f]{64})"
}
}
}
这个例子演示了一个基于JSON-Schema的验证器。它试图匹配两种CID版本:SHA-256散列(Qm)和BLAKE2B散列(b)。具有可选的multibase前缀,但只能是支持的字母。
您可以根据需要使用这些正则表达式,并通过JSON-Schema在应用程序中实施验证。