利用正则表达式提取英文字典

目录

构造一个65535个单词的英文字典文件。

要求单词均匀分布,没太长的,也没太短的。

上网下载了一份

https://github.com/dwyl/english-words/raw/master/words.txt

总共47万单词,内容如下:

1
2
3
4
5
6
7
8
2,4-d
20-point
A&M
A&P
A.
A.A.A.
abacate
abacaxi

 ​

常用的文本编辑器都会带有正则替换的功能。

​ 

不同编辑器用的正则语法可能会不一样,这里用的是sumblime,使用perl的兼容的正则表达式(PCRE)。Windows下强烈推荐使用EmEditor,方便初学者入门。

正则表达式入门,见:https://www.runoob.com/perl/perl-regular-expressions.html

原始单词文件中有数字,符号,从1到几十长度不等,按需求对原始数据进行如下处理。

  1. 删除少于3个字符的

img

  1. 删除超过10个字符的

img

  1. 删除带特殊字符的

img

  1. 随机删除使单词量剩下65535个。

  2. 将单词丢到excel第一列,总共81598行

  3. 第二列使用公式 =rand() 生成随机数值

img

  1. 利用公式按比例输出要显示的单词

img

根据总数计算大概要显示的比例为0.803,少写一点

=IF(B1>0.802,””,A1)

  1. img

  2. 计算输出数量 =COUNTIF(C:C,”>’’”)

img

最终剩下如下清爽的格式。

img