当我说英语时,我真正的意思是与 gobbledy gook 相对。我并不是想过滤掉领班或西班牙语或其他什么。
所以基本上我想测试一个单词是否完全由可发音的音节组成。
所以这是一个正则表达式:
if re.match(r'^([^aeiouy]{1,3}[aeiouy]{1,3}[^aeiouy]{1,3}|[aeiouy]{1,3}[^aeiouy]{1,3})+
print "gobbledy gook!!!"
Run Code Online (Sandbox Code Playgroud)
检查什么:C=辅音 V=元音
CVC 或 VC 字符组。组的长度为 1-3 个字符
这有意义吗?,the_word) 是 None: xCodexBlockxPlacexHolderx
检查什么:C=辅音 V=元音
CVC 或 VC 字符组。组的长度为 1-3 个字符
这有道理吗?
是和不是。从某种意义上说,这是可能的;这些评论给出了一种简单的(而且极其冗长和缓慢)的方式来做到这一点。但至于滥用 regexen 来完成这项任务是否有任何意义呢?不。有效单词之间的差异太大,甚至您正在执行的弱验证(没有尝试处理“rong”等看似合理但错误的单词)也将需要绝对不切实际的自定义来完成这项工作。
这类问题就是为什么JWZ (Jamie Zawinski) 说:
有些人在遇到问题时会想“我知道,我会使用正则表达式”。现在他们有两个问题。
归档时间: |
|
查看次数: |
682 次 |
最近记录: |