正则表达式:比较两个字符串以查找头韵和谐音

2023-11-23

是否可以比较两个字符串来找到头韵和谐音?

我主要使用 javascript 或 php


我不确定正则表达式是否是构建强大的比较工具的最佳方法。简单的正则表达式可能是更大解决方案的一部分,该解决方案使用更复杂的算法进行非精确匹配。

英语有多种现成的选项,其中一些选项可以相当简单地扩展到使用拉丁字母。这些算法中的大多数已经存在了数年甚至数十年,并且有详细的文档记录,尽管它们都有局限性。

我想非拉丁字母也有类似的算法,但我无法直接评论它们的可用性。

语音算法

The Soundex该算法已有近 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 已在许多编程语言中实现(example).

词解构

Levenshtein 可用于建议替代拼写(例如,规范用户输入),并且可能作为更细粒度的头韵和谐音算法的一部分很有用。

http://www.php.net/manual/en/function.levenshtein.php

从逻辑上讲,这将有助于理解字符串中单词的音节,以便可以解构每个单词。音节中断可以解决两个相邻字母应如何发音的歧义。该线程有几个链接:

PHP 音节检测

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式:比较两个字符串以查找头韵和谐音 的相关文章

  • 什么正则表达式永远无法匹配?

    Merged https meta stackexchange com questions 158066 what is a merged question with 永远不会与任何内容匹配的正则表达式 questions 1723182
  • 如何显示接下来的三个图像单击加载更多按钮

    我需要一个加载更多按钮来显示图像 页面加载时 我显示 3 个图像 单击 加载更多 按钮后 接下来的 3 个图像将显示在屏幕上 我尝试了下面的代码 但它不起作用 你能帮我解决这个问题吗 function item slice 0 2 show
  • 如何处理致命错误:cURL错误7:无法连接到xxxx端口443

    我有一个连接到第三方 API 的脚本 它是并且应该在 24 7 不间断循环上运行 我在重新启动循环之前在最后使用睡眠 问题是 有时第三方 API 会被拒绝 或者连接会因以下错误而中断 致命错误 未捕获的异常 GuzzleHttp Ring
  • ElasticSearch 和 PHP 中的多个字段搜索

    我正在使用最新版本弹性搜索 PHP https github com elasticsearch elasticsearch php以及最新版本的 MongoDB 和 ElasticSearch 我需要对可以包含一个或多个值的多个字段进行搜
  • AngularJS + jQuery 移动

    是否还有其他可能性来设计AngularJS以移动友好的方式应用程序CSS 我正在计划一个移动应用程序 并希望使用 AngularJS 进行逻辑和数据绑定 但我不想自己设计所有内容CSS The AngularJSFAQ说它使用jQuery
  • Yii2 组件将数据传递给 __construct

    我有一个库 我想将其用作组件 在配置文件中我这样设置 components gt superLib gt class gt SuperLib construct gt first second Maybe Yii 2 have proper
  • 可以禁用幻灯片的触摸模拟但不能禁用滚动条(危险的滑动器)吗?

    我的页面上有一个危险的滑动器 它成功地模拟了幻灯片和随附滚动条上的触摸事件 允许单击鼠标并移动以向左或向右滑动幻灯片 这很好 但我现在在滑动器内的幻灯片上调用了可拖动 这意味着我需要停止此触摸模拟 拖动幻灯片并同时移动它们会引起混乱 但仅限
  • 从链接打开本地文件夹

    如何通过单击任何链接打开本地文件夹视图 我尝试了很多选择 例如 a href Open folder a or a Open folder a or a Open folder a 解决方案 启动可下载链接 以下内容适用于所有浏览器 但一如
  • 检查字符串是否编码为 UTF-8

    function seems utf8 str length strlen str for i 0 i lt length i c ord str i if c lt 0x80 n 0 0bbbbbbb elseif c 0xE0 0xC0
  • node.js 模块/导出系统:是否可以将模块导出为函数

    我想在 Dispatch js 中做这样的事情 function handle msg exports handle 这在调用index js中 var dispatch require Dispatch dispatch data 有任何
  • 如何从 CSS 选择器中提取类名?

    故事 我目前正在构建一个 ESLint 规则 以警告在 CSS 选择器定位器中使用引导布局导向和角度技术类 目前我在字符串方法中使用简单的子字符串 for var i 0 i lt prohibitedClasses length i if
  • 从网页运行 ClickOnce 应用程序,无需用户操作

    我们有一个基于 Java 的 Web 应用程序以及用 C 编写的相同应用程序 如果 java 检查器发现客户端计算机上没有安装 Java 则应该运行该应用程序 这个想法是运行 C 单击一次 http en wikipedia org wik
  • 在反应中访问回调内的 event.target

    我有以下课程片段 constructor props super props this timeout null search e gt clearTimeout this timeout this timeout setTimeout f
  • WordPress 子主题包括包含文件

    我在一家WordPress使用 AMPPS 作为本地主机在我的本地计算机上进行设置 使用 Delta 主题 我创建了一个子主题 delta2 child 初始设置效果很好 但是 我需要更改包含文件夹中名为 home slider php 的
  • vuejs中如何获取组件编译后的html内容

    我有一个这样的组件
  • 通过 IP 地址限制 Laravel 错误日志

    When debug被设定为true在 Laravel 的app config php有什么方法可以限制结果Whoops包含对某些 IP 地址的堆栈跟踪的错误页面 并且不在该列表中的 IP 显示特定视图 Thanks 没有内置 但是你可能可
  • Graphql 将多个查询合并(组合)为一个?

    我正在尝试使用 JavaScript 将多个 GraphQL 查询合并为一个查询 我正在寻找这样的东西 let query3 mergeQueries query1 query2 我们事先不知道哪些查询将被组合 假设我有这样的查询 输入查询
  • jQuery Mobile + Admob:轮换?

    我使用 jQuery Mobile 框架创建了一个移动应用程序 所有页面都在index php中加载 使用 div 在每个页面的页脚中 我添加了Admob代码 div div div
  • 如何缩短 PHP if 语句?

    我有一个 if 语句 我需要将单个字符串与许多不同的选项进行比较 我在下面发布的代码非常清楚地表明了我的意思 我知道有两种方法可以做到这一点 但另一种甚至更长 那么 是否有任何函数可以以更短的方式实现类似的功能 我的要求可能看起来很愚蠢 但
  • 正则表达式仅允许特定数字

    我正在寻找一个只允许输入特定数字的正则表达式 例如2 4 5 6 10 18 我尝试过类似的东西 2 4 5 6 10 18 我输入的任何内容都无法通过正则表达式 然后计算机用手指着我并大笑 我哪里出错了 单引号是不必要的 您正在寻找的正则

随机推荐

  • 在 swift4.1 中将 Any 转换为 Float 总是失败

    在以前的版本中 要从 a 获取浮点值 String Any 字典 我可以用let float dict somekey as Float 但是在swift4 1中 不起作用 似乎是这样的类型dict somekey 已被隐含地推断为Doub
  • 如何从 SqlDataReader 解析 Nullable

    DateTime TryParse 方法采用 DateTime 作为参数 而不是 DateTime 现在我有以下代码 if DateTime TryParse reader Placed ToString out placed throw
  • 在 Windows Kafka 上删除主题时出现 AccessDeniedException

    我刚刚在我的 Windows 机器上安装了 Kafka 来自 Confluence Platform 我启动了 Zookeeper 和 Kafka 并创建主题 生产和消费它们的工作 然而 一旦我删除一个主题 Kafka 就会崩溃 如下所示
  • 如何避免 Selenium 中的 StaleElementReferenceException - Python

    我陷入了编写 Python Selenium 脚本的困境 似乎无法令人满意地解决我收到的这个 StaleElementReferenceException 我已加载页面并单击一个按钮 该按钮将打开一个表单 允许用户向订单添加新的信用卡 此时
  • 如何用java转换巨大的xml文件?

    正如标题所说 我有一个巨大的 xml 文件 GB
  • Angularjs 后接收钩子或类似的?

    有没有一种方法可以在每次从服务器返回响应后调用一个函数 而无需在回调中显式调用它 主要目的是我确实有一个通用错误处理程序服务 我在每个请求的回调中调用它 并且我想在某处指定它并且它应该被自动调用 我给了Gloopy一个 1的解决方案 但是
  • 如何冻结无法冻结的可冻结对象

    在我的场景中 我想先冻结不变的 BitmapCacheBrush 然后再在后台任务中渲染它 不幸的是 我收到错误 此 Freezable 无法冻结 是否有任何解决方法或黑客方法冻结也不可冻结的对象 也许可以通过反射设置正确的属性来达到这个目
  • jQuery UI 日期选择器不会显示 - 包含完整代码

    我在显示 jQuery 日期选择器时遇到问题 如下所示 http jqueryui com demos datepicker 我相信我下载了所有正确的文件 但可以肯定的是 我从头开始并破解了演示网站 不是全部 而是我认为重要的部分 结果是没
  • 将 Bitbucket 部署到 Azure 网站:添加私有 nuget 包服务器

    我已经在 Azure 上建立了一个网站 通过 Bitbucket 存储库进行部署 当尝试安装存储在私有 nuget 服务器 而不是 nuget org 上 的 nuget 包时 该过程会失败 有没有办法指定从何处还原 nuget 包 以便
  • 如果活动崩溃,如何清除通知?

    在我的应用程序中 我正在创建一个带有 FLAG ONGOING EVENT 标志设置的通知 Notification notification new Notification iconId text System currentTimeM
  • 在某些代理关闭后如何更改主题领导者或删除分区?

    我们有一个带有 4 个代理的 kafka 集群 以及一些具有副本因子 1 和 10 分区的主题 某一时刻 我们的 4 台服务器中的 2 台与 kafka 集群发生故障 现在我们有 2 个具有相同主题的经纪人 当我运行命令时 kafka to
  • 将 Mercurial 变更集作为版本信息注入 C 可执行文件中

    我希望我正在开发的项目的可执行文件能够记录最新的 Mercurial 变更集 以便当用户抱怨错误行为时 我可以跟踪他们正在使用的版本 我的一些可执行文件是 Python 的 其他是 C 编译的 有没有办法自动执行此操作 或者您能给我指出一些
  • Python numpy数据指针地址变化无需修改

    EDIT 经过一番摆弄后 到目前为止我已经隔离了以下状态 A 1D array gives two直接输入变量时的地址不同 并且仅one使用时print A 2D array or matrix gives three直接输入变量时的不同地
  • 限制 UISlider 滑动超过某个点

    我们假设 a 有一个UISlider我为其设置了一定的值 然后 滑块手柄会按预期移动到该值 现在我想让用户来回滑动滑块的手柄 但不设置UISlider比我以编程方式分配给它的要少 例如我有一个UISlider最小值为 0 最大值为 100
  • 我可以保护我的 CRON 脚本免受远程用户的攻击吗?

    我目前正在开发一个涉及使用 CRON 作业的新项目 CRON 脚本基本上运行 SQL 查询 将数据生成到文件中 然后通过 FTP 将该文件发送到另一台服务器 该脚本位于实时网站 www website com sendOrders php
  • Stream.Copy 是否通过管道传输?

    假设我正在编写一个tcp代理代码 我正在从传入流中读取并写入输出流 我知道 Stream Copy 使用缓冲区 但我的问题是 Stream Copy 方法是否在从输入流获取下一个块的同时写入输出流 还是像 从输入读取块 将块写入输出 从输入
  • 泽西岛 (REST) 子资源 CDI

    我正在开发一个企业项目 该项目有一个 EJB 模块和一个在 GlassFish v3 1 Weld v1 1 和 Jersey 上运行的 Web 项目 在EJB中我定义了一个实体类Manufacturer并生成了一个会话外观Manufact
  • 计算 yii2 中表中的所有记录,无需使用 where 子句

    我想计算表中的所有记录而不指定任何条件 现在 我正在这样做 result cms Cms find gt where gt count 它会给我结果 但我不想使用where clause 那么如何统计所有记录而不需要where 子句 谢谢
  • 在 PHP 中的匿名函数中访问对象的私有/受保护属性

    我正在尝试通过匿名函数转储对象私有属性的元素 当然我可以通过许多其他方式实现这一点 但这突出了一个我无法立即解决的 PHP 难题 除了 foo this 并使用 foo 但这不会给我私人的东西 所以 建议 示例代码 class MyClas
  • 正则表达式:比较两个字符串以查找头韵和谐音

    是否可以比较两个字符串来找到头韵和谐音 我主要使用 javascript 或 php 我不确定正则表达式是否是构建强大的比较工具的最佳方法 简单的正则表达式可能是更大解决方案的一部分 该解决方案使用更复杂的算法进行非精确匹配 英语有多种现成