请原谅我的无知。我知道这是一个非常琐碎的问题,但是正则表达式存在很多问题。
我有一个像这样的字符串:
Secret seed: SAI4OILKV6QNC24OMIVB4WWEBL7KQRV6L4CXOO5MSY6ONRXYPU5BYW6B
Public: GDOTL2NTFQ4XC3NDQLD33HNFS7FQBZ5CWVDIEQJNAKX2GRX5VH5CVVZA
我想捕获秘密密钥和公共密钥,因此在这种情况下为SAI4OILKV6QNC24OMIVB4WWEBL7KQRV6L4CXOO5MSY6ONRXYPU5BYW6B
和GDOTL2NTFQ4XC3NDQLD33HNFS7FQBZ5CWVDIEQJNAKX2GRX5VH5CVVZA
。 regex应该用来捕获它的是什么?
答案 0 :(得分:1)
种子似乎具有 56个字符的固定长度,由大写字母和数字组成,这样,我们可以构造一个regex
来匹配这种类型的模式,例如:
text = """
Secret seed: SAI4OILKV6QNC24OMIVB4WWEBL7KQRV6L4CXOO5MSY6ONRXYPU5BYW6B
Public: GDOTL2NTFQ4XC3NDQLD33HNFS7FQBZ5CWVDIEQJNAKX2GRX5VH5CVVZA
"""
seeds = re.findall(r"\b[\dA-Z]{56}\b", text)
print(seeds)
# ['SAI4OILKV6QNC24OMIVB4WWEBL7KQRV6L4CXOO5MSY6ONRXYPU5BYW6B', 'GDOTL2NTFQ4XC3NDQLD33HNFS7FQBZ5CWVDIEQJNAKX2GRX5VH5CVVZA']
Python演示:
https://www.jdoodle.com/embed/v0/Q64
正则表达式演示:
https://regex101.com/r/7MKWEE/2
答案 1 :(得分:1)
您可以尝试
它将匹配单词边界之间以':'开头的任何字符串
:\s*?\b(.*)\b
说明
:
-匹配字符:
。\b
-单词边界。