BCH 正则表达式最近(在 API 中)更新为:"address_regex": "^([13][a-km-zA-HJ-NP-Z1-9]{25,34})|^((bitcoincash:)?(q|p)[a-z0-9]{41})|^((BITCOINCASH:)?(Q|P)[A-Z0-9]{41})$"
这是隔离见证的事情吗?
我知道现在说地址可能以“bitcoincash:”或“BITCOINCASH:”开头,但这是一回事,还是Coinbase内部的一些名称?
BCH 正则表达式最近(在 API 中)更新为:"address_regex": "^([13][a-km-zA-HJ-NP-Z1-9]{25,34})|^((bitcoincash:)?(q|p)[a-z0-9]{41})|^((BITCOINCASH:)?(Q|P)[A-Z0-9]{41})$"
这是隔离见证的事情吗?
我知道现在说地址可能以“bitcoincash:”或“BITCOINCASH:”开头,但这是一回事,还是Coinbase内部的一些名称?
分解这个正则表达式,有三种可能构成有效的 BCH 地址:
^([13][a-km-zA-HJ-NP-Z1-9]{25,34})
:1
或 a开头3
l
、和I
O
0
^((bitcoincash:)?(q|p)[a-z0-9]{41})
:bitcoincash:
开头(奇怪的是这可能不止一次出现)q
或 ap
^((BITCOINCASH:)?(Q|P)[A-Z0-9]{41})$
:BITCOINCASH:
开头(奇怪的是这可能不止一次出现)Q
或 aP
本质上,Coinbase 现在只是简单地接受上述三个正则表达式作为有效的 BCH 地址,并将其添加bitcoincash
为 BCH 使用的公认协议。
让我为您分解一下,因此其中包含三个正则表达式,因为在添加新内容之后,现在所有三个都被接受为有效的 BCH 地址
/^([13]{1}[a-km-zA-HJ-NP-Z1-9]{33}|(bitcoincash:)?(q|p)[a-z0-9]{41}|(BITCOINCASH:)?(Q|P)[A-Z0-9]{41})$/
打破它
第一类地址
[13]{1}
地址将以 L、M 或 3 开头,{1} 定义只匹配方括号中的一个字符
/[13]{1}[a-km-zA-HJ-NP-Z1-9]/
不能有 l(小 el)、I(大写眼睛)、O(大写 O)和 0(零)
/[13]{1}[a-km-zA-HJ-NP-Z1-9]{26,33}/
可以是 27 到 34 个字符长,记住我们已经检查了第一个字符是 1 或 3,所以剩余的地址将是 26 到 33 个字符长
第二种地址
bitcoincash:
将从比特币现金开始:
(bitcoincash:)?(q|p)
后跟 q 或 p
(bitcoincash:)?(q|p)[a-z0-9]
只能有小写字母和数字
(bitcoincash:)?(q|p)[a-z0-9]{41}
将是 54 个字符长,我们已经检查了前 11 个字符是 bitcoincash: 后跟另一个字符是 Q 或 p,所以剩余的地址将是 41 个字符长
第三种地址
BITCOINCASH:
将从 BITCOINCASH 开始:
(BITCOINCASH:)?(Q|P)
后跟 Q 或 P
(BITCOINCASH:)?(Q|P)[a-z0-9]
只能有小写字母和数字
(BITCOINCASH:)?(Q|P)[a-z0-9]{41}
将是 54 个字符长,我们已经检查了前 11 个字符是 BITCOINCASH:后跟另一个字符是 Q 或 P,所以剩余的地址将是 41 个字符长