是否可以通过正则表达式检查单词是否真的是英语单词?

时间:2014-12-08 00:21:07

标签: regex nlp

当我说英语时,我的意思是对狼人来说。我不是要过滤掉maitre&#d; d或espanol等等。

所以基本上我试图测试一个单词是否完全由可发音的音节组成。

所以这里是一个正则表达式:

if re.match(r'^([^aeiouy]{1,3}[aeiouy]{1,3}[^aeiouy]{1,3}|[aeiouy]{1,3}[^aeiouy]{1,3})+
    print "gobbledy gook!!!"

它检查的内容:C =辅音V =元音

CVC或VC组字符。组的长度为1-3个字符

这有意义吗?,the_word)是None: xCodexBlockxPlacexHolderx

它检查的内容:C =辅音V =元音

CVC或VC组字符。组的长度为1-3个字符

这有意义吗?

1 个答案:

答案 0 :(得分:4)

是和否。从某种意义上说,它是可能的;这些评论给出了琐碎(而且可怕的冗长和缓慢)的方式。但是,对于滥用regexen来完成这项任务是否有用呢? 即可。在有效的单词之间存在太大的差异,即使是你所做的削弱的验证,也没有试图处理像“rong”这样的合理但错误的单词。将需要绝对不切实际的定制来完成这项工作。

这类问题是JWZ (Jamie Zawinski) said

的原因
  

有些人在面对问题时会想到,我知道,我会使用正则表达式。"现在他们有两个问题。