因此,我正在尝试为我的一个项目制定自动化解决方案,并且我正在使用 Python/Django,因为它是网络应用程序。我试图在字符串列表中,特别是在比特币地址中找到一个英语单词。该项目是关于虚荣地址的,所以我试图找出比特币地址中是否有英文单词。我知道这听起来很疯狂,但我很想知道这是否可能。例如,
1GOOGLEzZDwTGhXJwPSapWtViWJf2NJYyt
1vsDRvApplemzFVj8ALj6mfBsbifRoD4mi
1NmD9HtNHYjtkncsT1bXW1j84jg9MV8VzD
1mFAceBookzFVj8ALj6mfBsbifRoD4miY3
1mzFVj8ALj6mfBsbifRoYaHOOeD4miY36v
1NmzD3YLFsMpPQEsCVCjanAiN1trk3tURL
Run Code Online (Sandbox Code Playgroud)
所以第一个地址包含谷歌,第二个包含苹果,第三个什么都不包含,第四个包含Facebook,第五个包含雅虎,第六个包含URL,我不认为是英语单词,但就像Google和Facebook一样,它是一个同类词。那么是否可以使用Python检查一个比特币地址中包含哪些单词呢?地址中可以有零个或多个可能的单词,我想知道哪些单词(如果可能)。
如果可能的话,谁能告诉我可以使用哪个库?我正在使用 Python3 和 Django 2。
PS我并不是专门在里面寻找Google、Facebook、Apple、yahoo!这只是一个例子。我想检查一个地址是否包含英文单词,这意味着它可以包含monkey或donkey任何英文单词。
谢谢。
您需要一份您想要检测的所有英语单词的列表。有很多地方可以获得这些。我建议查看拼写检查器的字典文件,例如 aspell,因为您不关心定义。Aspell有一个转储单词列表的命令。
aspell -d en dump master | aspell -l en expand > words.en.txt
Run Code Online (Sandbox Code Playgroud)
接下来,获取单词的可迭代。您可能想要过滤掉诸如a和之类的简短单词I,以及任何带有不能出现在地址中的特殊字符的单词。将单词列表格式化为带有交替的正则表达式,即'|'.join(wordlist).
由于 Python 的回溯正则表达式引擎不能有效地处理替换,因此您需要一个更快的引擎。Try pip install rure,它使用 Rust 的正则表达式引擎,并使用它来编译正则表达式。(请参阅 Rust 的正则表达式优化指南。)如果您关心它找到的是哪个单词,您可以将整个正则表达式包装起来(),使其成为一个捕获组。
然后依次针对每个地址运行已编译的正则表达式(可能不区分大小写)。如果匹配,您就会得到这个词。
| 归档时间: |
|
| 查看次数: |
1732 次 |
| 最近记录: |