首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >可以使用python检查字符串是否包含英文单词吗?

可以使用python检查字符串是否包含英文单词吗?
EN

Stack Overflow用户
提问于 2018-07-15 07:59:47
回答 1查看 1.2K关注 0票数 0

所以我正在尝试为我的一个项目制作自动化解决方案,我正在使用Python/Django,因为它是web应用程序。我正在尝试在字符串列表中查找英语单词,特别是在比特币地址中。这个项目是关于虚荣的地址,所以我试图找出一个比特币地址中是否有英文单词。我知道这听起来很疯狂,但我很好奇这是否可能。举个例子,

代码语言:javascript
复制
1GOOGLEzZDwTGhXJwPSapWtViWJf2NJYyt
1vsDRvApplemzFVj8ALj6mfBsbifRoD4mi
1NmD9HtNHYjtkncsT1bXW1j84jg9MV8VzD 
1mFAceBookzFVj8ALj6mfBsbifRoD4miY3
1mzFVj8ALj6mfBsbifRoYaHOOeD4miY36v
1NmzD3YLFsMpPQEsCVCjanAiN1trk3tURL 

所以第一个地址包含谷歌,第二个包含苹果,第三个什么也不包含,第四个包含Facebook,第五个包含雅虎,第六个包含URL,我不认为这是英文单词,但像谷歌和Facebook一样,它是一个友好的单词之一。所以可以使用python检查一个比特币地址中有哪些单词?一个地址可以有零个或多个可能的单词,如果可能的话,我想知道哪些单词。

如果这是可能的,谁能告诉我我可以使用哪个库?我正在使用Python3和Django 2。

附言:我不是特别寻找谷歌,Facebook,苹果,雅虎在它!这只是一个例子。我想检查一个地址是否包含英文单词,这意味着它可以包含monkeydonkey或任何英文单词。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-07-15 08:25:48

你需要一份你想要检测的所有英语单词的列表。有很多地方可以买到这些。我建议您在字典文件中查找拼写检查器,因为您并不关心其定义。Aspell has a command to dump wordlists.

代码语言:javascript
复制
aspell -d en dump master | aspell -l en expand > words.en.txt

接下来,获取单词的可迭代。您可能希望过滤掉像aI这样的小单词,以及任何不能出现在地址中的带有特殊字符的单词。将单词列表格式化为带有替换的正则表达式,例如'|'.join(wordlist)

由于Python的回溯正则表达式引擎不能有效地处理变更,因此您需要一个更快的引擎。尝试pip install rure,它使用Rust的正则表达式引擎,并使用它来编译正则表达式。(请参阅Rust的正则表达式optimization guide。)如果您关心它找到了哪个单词,您可以将整个正则表达式包装在()中,使其成为一个捕获组。

然后依次对每个地址运行已编译的正则表达式(可能不区分大小写)。如果匹配,你就会得到这个词。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51344293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档