我想从下面的文字中找到地址
Private Key HEX: 81533e629f27aee5ec97b425a5a6a1ef35527fb1082db16776aa054c0db6c93f
Private Key WIF: 5JoF25azjFR6iMe554QPPb4xyYPM79Ve3NFywnafwnFnt45qQ8s
Private Key WIF compressed: L1Z6smF3oUdNDY6cxv2DphNW4ZXdk8VQVSq8LpBctnkHWBJz4Zxm
Public Key: 04f23e94e1faf3a9883573507c52b60c857b0e34400b5bb951c07af1af2ddde4daa3724c9e1e652e18e4495f8288aa5c3e976ed64bba1b8518ce93a7ccaf3e422b
Public Key compressed: 03f23e94e1faf3a9883573507c52b60c857b0e34400b5bb951c07af1af2ddde4da
Public Address 1: 1EMEJ6QxiPFW6RzYbzXVGojJubCGgGjDFP
Public Address 1 compressed: 1748nYkyMuzekueBPHQDzwX1txFfSw2ZBZ
Public Address 3: 3AUkFufz5viJiFKfTXPDaBS6og5ScJMCK1
Public Address bc1 P2WPKH: bc1qgf5gqhw0zu5mdg2ckapeqqxxjqsjw6ypkrrkw2
Public Address bc1 P2WSH: bc1qldst6n54d5qxf6t3sffqepkhtdr9vnm9r395sjn9caq9pz50emwsexcnsa
也就是说,
注意,每次的地址都是随机的,以上只是一个例子。我已经尝试过以下方法,但似乎不起作用:
def use_regex(input_text):
pattern = re.compile(r"Public Address 1: [A-Za-z0-9]+", re.IGNORECASE)
return pattern.match(input_text)
如有任何建议,我们将不胜感激!
我们要做的就是首先识别正确的线路,然后选择按键。下面的代码就可以了:
import re
def extract_addresses(input_text):
pattern = re.compile(r"Public Address(?: \w+)*: ([A-Za-z0-9]+)", re.IGNORECASE)
return pattern.findall(input_text)
调用函数时会产生以下列表 (
print(extract_addresses(text))
):
['1EMEJ6QxiPFW6RzYbzXVGojJubCGgGjDFP',
'1748nYkyMuzekueBPHQDzwX1txFfSw2ZBZ',
'3AUkFufz5viJiFKfTXPDaBS6og5ScJMCK1',
'bc1qgf5gqhw0zu5mdg2ckapeqqxxjqsjw6ypkrrkw2',
'bc1qldst6n54d5qxf6t3sffqepkhtdr9vnm9r395sjn9caq9pz50emwsexcnsa']
希望这有帮助!愿代码与您同在...
我相信你应该寻找
:
符号,然后采取它右侧的所有内容:
pattern = ".*?\:\s*([^s]*)"
for mm in re.finditer(pattern,text):
print(mm.group(1))
或
pattern = ":?.*?\:\s*([^\s]*)"
tt = re.findall(pattern,text)
print(tt)
检查一下:
import re
def find_addresses(text):
# Regex pattern to match Bitcoin addresses
pattern = r"\b[13][a-km-zA-HJ-NP-Z1-9]{25,34}\b|\bbc1[a-z0-9]{39,59}\b"
# Find all matches using re.findall
addresses = re.findall(pattern, text)
return addresses
def write_addresses_to_file(addresses, filename='addresses.txt'):
# Write addresses to a file
with open(filename, 'w') as file:
for address in addresses:
file.write(address + '\n')
# Example text input
input_text = """
Private Key HEX: 81533e629f27aee5ec97b425a5a6a1ef35527fb1082db16776aa054c0db6c93f
Private Key WIF: 5JoF25azjFR6iMe554QPPb4xyYPM79Ve3NFywnafwnFnt45qQ8s
Private Key WIF compressed: L1Z6smF3oUdNDY6cxv2DphNW4ZXdk8VQVSq8LpBctnkHWBJz4Zxm
Public Key: 04f23e94e1faf3a9883573507c52b60c857b0e34400b5bb951c07af1af2ddde4daa3724c9e1e652e18e4495f8288aa5c3e976ed64bba1b8518ce93a7ccaf3e422b
Public Key compressed: 03f23e94e1faf3a9883573507c52b60c857b0e34400b5bb951c07af1af2ddde4da
Public Address 1: 1EMEJ6QxiPFW6RzYbzXVGojJubCGgGjDFP
Public Address 1 compressed: 1748nYkyMuzekueBPHQDzwX1txFfSw2ZBZ
Public Address 3: 3AUkFufz5viJiFKfTXPDaBS6og5ScJMCK1
Public Address bc1 P2WPKH: bc1qgf5gqhw0zu5mdg2ckapeqqxxjqsjw6ypkrrkw2
Public Address bc1 P2WSH: bc1qldst6n54d5qxf6t3sffqepkhtdr9vnm9r395sjn9caq9pz50emwsexcnsa
"""
# Extract addresses
found_addresses = find_addresses(input_text)
# Write addresses to a file
write_addresses_to_file(found_addresses)
print("Addresses have been written to 'addresses.txt'")