1

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内部的一些名称?

4

2 回答 2

8

分解这个正则表达式,有三种可能构成有效的 BCH 地址:

第一种选择^([13][a-km-zA-HJ-NP-Z1-9]{25,34})

  • 以 a1或 a开头3
  • 后面是 25 到 34 个字母数字字符,不包括 l、和IO0

第二种选择^((bitcoincash:)?(q|p)[a-z0-9]{41})

  • 以文字字符串bitcoincash:开头(奇怪的是这可能不止一次出现)
  • 在此之后使用 aq或 ap
  • 紧随其后的是 41 个字母数字字符(仅小写)

第三种选择^((BITCOINCASH:)?(Q|P)[A-Z0-9]{41})$

  • 以文字字符串BITCOINCASH:开头(奇怪的是这可能不止一次出现)
  • 在此之后使用 aQ或 aP
  • 紧随其后的是 41 个字母数字字符(仅大写)

本质上,Coinbase 现在只是简单地接受上述三个正则表达式作为有效的 BCH 地址,并将其添加bitcoincash为 BCH 使用的公认协议。

于 2018-02-19T22:06:04.217 回答
-1

让我为您分解一下,因此其中包含三个正则表达式,因为在添加新内容之后,现在所有三个都被接受为有效的 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 个字符长

于 2022-02-04T08:27:36.840 回答