Fra*_*sco 7 javascript php regex
可以比较两个字符串来查找Alliteration和Assonance吗?
我主要使用javascript或php
我不确定正则表达式是构建强大的比较工具的最佳方式.简单的正则表达式可能是更大的解决方案的一部分,该解决方案使用更复杂的算法进行非精确匹配.
英语有多种随时可用的选项,其中一些可以简单地扩展到使用拉丁字母的语言.大多数这些算法已经存在了数年甚至数十年,并且有很好的文档记录,尽管它们都有限制.
我想非拉丁字母表有类似的算法,但我无法直接评论它们的可用性.
语音算法
该探测法算法是近100年的历史,并已在多种编程语言实现.它用于根据字符串的发音确定数值.它不精确,但它可能有助于识别类似的发音词/音节.我已经在MS SQL Server中对它进行了实验,它可以在PHP中使用.
http://php.net/manual/en/function.soundex.php
一般共识(包括PHP文档)是Metaphone在处理英语时比Soundex更准确.有许多可用的实现(维基百科在文章末尾有一个很长的列表),它包含在PHP中.
http://www.php.net/manual/en/function.metaphone.php
Double Metahpone支持对应于该单词的替代发音的单词的第二编码.
与Metaphone一样,Double Metaphone已经在许多编程语言中实现(例子).
词解构
Levenshtein可用于建议替代拼写(例如,规范用户输入),并且可能有助于作为更精细的头韵和协调算法的一部分.
http://www.php.net/manual/en/function.levenshtein.php
从逻辑上讲,它有助于理解字符串中单词的音节,从而可以解构每个单词.音节中断可以解决关于如何发音两个相邻字母的模糊性.这个帖子有几个链接: