问题标签 [textmatching]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
6624 浏览

uri - 如何匹配文本中的 URI?

如何在文本块中发现 URI?

这个想法是将这样的文本运行变成链接。如果只考虑 http(s) 和 ftp(s) 方案,这很简单;但是,我猜一般问题(考虑到 tel、mailto 和其他 URI 方案)要复杂得多(如果可能的话)。

如果可能的话,我更喜欢 C# 中的解决方案。谢谢你。

0 投票
7 回答
477 浏览

sql - 如何确定每个来源中的记录是否代表同一个人

我有几个包含个人数据的表格来源,如下所示:

因此,假设来自来源 1 和 2 的 ID 为 1 的记录是同一个人,我的问题是如何确定每个来源中的记录是否代表同一个人。此外,确保并非所有记录都存在于所有来源中。所有的名字,主要是用西班牙语写的。

在这种情况下,需要放宽精确匹配,因为我们假设数据源没有经过国家官方身份验证局的严格检查。此外,我们需要假设拼写错误是常见的,因为收集数据的过程的性质。更重要的是,每个来源的记录数量约为 2 或 3 百万……

我们的团队曾考虑过这样的事情:首先,强制在 ID NUMBER 和 NAMES 等选定字段中进行精确匹配,以了解问题的难度。第二,放宽匹配条件,数一数还能匹配多少条记录,但是问题来了:如何放宽匹配条件,既不会产生太大的噪音,又不会限制太多?

什么工具可以更有效地处理这个问题?例如,您是否知道某些数据库引擎中的某些特定扩展以支持这种匹配?您是否知道诸如soundex 之类的巧妙算法来处理这种近似匹配,但对于西班牙语文本?

任何帮助,将不胜感激!

谢谢。

0 投票
5 回答
438 浏览

sql-server - 数据比较

我们有一个 SQL Server 表,其中包含公司名称、地址和联系人姓名(等等)。

我们会定期收到来自外部来源的数据文件,这些文件需要我们与此表进行匹配。不幸的是,数据略有不同,因为它来自完全不同的系统。例如,我们有“123 E. Main St.”。我们收到“123 East Main Street”。另一个例子,我们有“Acme, LLC”,文件包含“Acme Inc.”。另一个是,我们有“Ed Smith”,他们有“Edward Smith”

我们有一个遗留系统,它利用一些相当复杂和 CPU 密集型的方法来处理这些匹配。有些涉及纯 SQL,有些涉及 Access 数据库中的 VBA 代码。当前系统好但不完善,繁琐难维护

这里的管理层希望扩大其用途。将继承系统支持的开发人员希望将其替换为需要更少维护的更敏捷的解决方案。

是否有一种普遍接受的方式来处理这种数据匹配?

0 投票
19 回答
19743 浏览

regex - 电子邮件地址的正则表达式识别很难吗?

我最近在某处读到,写一个正则表达式来匹配一个电子邮件地址,考虑到标准的所有变化和可能性是非常困难的,而且比最初假设的要复杂得多。

这是为什么?

是否有任何已知且经过验证的正则表达式实际上可以完全做到这一点?

使用正则表达式匹配电子邮件地址有哪些好的替代方法?

0 投票
6 回答
743 浏览

java - 在 Java 中将文本文件表示为单个单元,并匹配文本中的字符串

如何将文本文件(或 XML 文件)表示为整个字符串,并在其中搜索(或匹配)特定字符串?

我创建了一个 BufferedReader 对象:

然后我尝试使用 Scanner 类及其选项来指定不同的分隔符,如下所示:

使用这样的 Scanner 类,我可以逐行或逐字阅读文本,但这对我没有帮助,因为有时在我想要处理的文本中,我有

我想说:如果您<review>在文本中的任何地方找到“”,请对以下下一行(或一段文本)执行某些操作,直到找到“ </review>”。问题是<review></review>位于文本中的不同位置,有时会粘在其他文本上(因此作为分隔符的空白对我没有帮助)。

我曾想过我可能会在 Java 中使用正则表达式 API(Pattern 和 Matcher 类),但它们似乎匹配特定的字符串或行,并且我希望将文本作为一个连续的字符串(至少这是我的印象从我所读到的关于它们的信息中)。你能告诉我在这种情况下我应该使用什么结构/方法/类吗?谢谢你。

0 投票
1 回答
240 浏览

perl - 如何在 Perl 中匹配两个文档之间的字符串顺序?

我在制作一个 PERL 程序来匹配两个文档中的单词时遇到了问题。假设有文件 A 和 B。

所以我想删除文档 A 中不在文档 B 中的单词。

示例 1

A:我吃披萨

B:她去市场吃披萨

结果:吃披萨

例 2 : A: 吃披萨

B:比萨吃

result:pizza(词序相关,所以删掉“吃”。)

我在系统中使用 Perl,每个文档中的句子不是很大,所以我想我不会使用 SQL

该程序是印度尼西亚语(Bahasa)自动论文评分的子程序

谢谢,对不起,如果我的问题有点混乱。我对“这个世界”真的很陌生:)

0 投票
1 回答
409 浏览

php - PHP中stristr文本匹配的问题

我正在运行一个相当简单的脚本,它尝试将 csv 文件中的字符串与 mysql 表中的潜在匹配项进行匹配(排序规则:ut8_general_ci)。对于 csv 文件中的每一行,我拉出我想要的字符串 (haystack),它看起来像这样:

"完整的 Cmte. Rutland Rutland VT 会员城市"

对于每个字符串,我从我的数据库中提取匹配列表,并循环遍历它们,直到 stristr 找到匹配项。(我使用 stristr 而不是正则表达式,因为它更简单并且(我认为?)更快。)一些匹配的字符串没有语法/句法意义,因为它们被构造为特定于该数据集的别名。其中之一是“City of Rutland Rutland VT”(“City of Rutland (VT)”的别名),它应该但不匹配上面的字符串。对于超过 90% 的这些比赛,我没有任何问题。但是,某些文本匹配似乎不起作用。

以下是未能产生匹配的列表:

干草堆 => 针

  • "Full Cmte. Member City of Ocala Ocala FL" => "City of Ocala Ocala FL"
  • “水和卫生区安东尼新墨西哥州全董事会成员”=>“安东尼水和卫生区”
  • “能源清洁空气与气候变化 Subcmte Member Consol Inc.” => “康索尔公司”
  • “委员会成员;综合服务高级副总裁 Burke Inc. Cincinnati OH”=>“Burke Inc.”
  • “德克萨斯州圣安东尼奥市” => “德克萨斯州圣安东尼奥市”
  • “完整的 Cmte 成员 United National Indian Tribal Youth Inc. (UNITY)” => “United National Indian Tribal Youth Inc.”
  • “ECA&CC Sub. Member Cyprus Amax Minerals Inc.” => “塞浦路斯 Amax 矿产公司”
  • “硅谷制造集团”=>“硅谷制造集团”
  • “总裁全球环境资源公司华盛顿特区”=>“全球环境资源公司”
  • “兰开斯特实​​验室公司” =>“兰开斯特实​​验室公司”

我不知道该怎么做,除非这是我完全错过的非常基本的东西。似乎大多数错误都有“inc”。在比赛中,但不确定这是什么原因造成的。

这是代码(尽管下面的答案符合要求):

它现在并不是非常优雅,我希望能获得任何关于如何规范化字符串以进行匹配的额外见解。

0 投票
1 回答
367 浏览

php - 使用 preg_replace 规范化文本匹配的字符串

我正在我的 MySQL 数据库中的一组名称和 CSV 文件中的一组字符串之间执行一个非常简单的文本匹配。在实际比较之前,我使用一组选项运行 preg_replace 来规范化字符串。重要的替代方法之一是将不规则的缩写变成规则的完整单词。但我似乎无法捕捉到像“Inc.”这样的缩写词。和“公司”、“公司”。和“公司”,可能有也可能没有尾随期。

这是代码:

以下是一些不起作用的匹配项(更多内容即将发布):

干草堆 => 针

  • “白羊座国际公司” => “白羊座国际公司”
  • “菲尔普斯道奇公司” => “菲尔普斯道奇公司”
  • “麦克德莫特公司” => “麦克德莫特公司”

据我所知,它没有赶上“公司”。和“公司”,至少不一致。有什么帮助吗?

0 投票
4 回答
361 浏览

regex - 在正则表达式中使用 if 子句

我目前正在使用 vb.net 编写一个 .net windows 应用程序。

我正在尝试传递正则表达式以Regex.Match从文章中提取某些文本。如何在正则表达式中编写 if 条件?我阅读了这个正则表达式备忘单,根据它可以使用 来陈述条件<?()>,但没有给出示例。

例如,我有以下文字:

我可以使用以下表达式取出 (1) banana、 (2)apple和 (3) NO pear

但是如果我只想提取mary具有 (1)banana和 (2)的水果apple,我想我需要在(.+?\.)+?部分中添加一个条件,对吧?如何在正则表达式中列出条件?

请帮忙,谢谢!

0 投票
1 回答
2522 浏览

sql - 如何使用 TSQL 计算 varchar 中的 varchar

什么是计算 varchar 在 varchar 中出现的最佳方法。

我宁愿不遍历文本以找到某些组合。

这个选择只找到第一个

返回 1

我需要一种方法来查找匹配的总数

预期结果

使用 mssql 服务器 2005