如何通过正则表达式进行“模糊搜索”?
例如,文本“hplaptop”可能是以下任意一项的模糊匹配:
xxx hp laptop
hp xxx laptop
laptop xxxxx hp
Run Code Online (Sandbox Code Playgroud) 我下载了 .exe 文件并将其放入我的 PATH 变量中。fzf似乎在命令提示符下工作。但我想在 git-bash 中使用它。当我fzf在 git-bash 中使用时,它似乎开始了,但没有任何反应。
任何意见将是有益的。我试图为自己节省一些按键。
对于学校项目,目标是将查询字符串模糊匹配到Song对象内的歌词字符串.整体数据结构是一个独特单词的TreeMap,与歌词中包含该单词的歌曲组合在一起.
我有包含查询字符串的初步匹配歌曲集.这里的转折是我必须根据匹配部分中的字符数(包括空格)为每个结果歌曲分配一个等级.例如,搜索"她爱你"会在匹配中返回:
"......她爱你......"甲壳虫乐队,等级= 13
"......她只是爱你......"Bonnie Raitt,等级= 18
"......她爱我,好吧......"猫王普雷斯利,排名= 23
我用来对结果进行排序是:
for (int i=0; i<lyrics.length; i++) {
if (lyrics[i].equals(query[0])) { //got the start point
start=i; //adjust the start index point
//loop through lyrics from start point
for (int j=1; j<query.length; j++) {
if (lyrics[j].equals(query[query.length-1])) {
end=i; //found the last word
}
//if next lyric word doesn't match this query word
if (!lyrics[i+j].equals(query[j])) {
//advance loop through lyrics. when a match is found, i is adjusted to
//the match index
for (int …Run Code Online (Sandbox Code Playgroud) 我正在通过所有现有问题的帖子,但无法得到一些相关的东西.
我有人数名,姓,地址1,地址2,国家代码,出生日期的数百万条记录的文件 - 我想每天检查我的客户名单(我的客户名单也每天更新和文件也每天更新).
对于名字和姓氏,我想模糊匹配(可能是lucene fuzzyquery/levenshtein距离90%匹配),对于剩余字段国家和出生日期我想要完全匹配.
我是Lucene的新手,但通过查看帖子的数量,看起来很可能.
我的问题是:
还有其他方法可以实现吗?
有没有人知道Objective-c的模糊搜索匹配的快速实现?(levenshtein距离算法).
我发现了这个:https://github.com/thetron/StringScore/blob/master/NSString%2BScore.m - 但不幸的是它很慢.我需要将它与大约200个字符串进行比较,并且它是连续的 - 每次键入新键击.
有任何想法吗?
我正在尝试使用RubyMine,但有一个功能一直在削弱我的工作效率.我在Sublime中一直使用它.
假设我在视图文件夹中散布了一百个index.html.haml文件.在Sublime Text 2中,我可以/app/views/orders/index.html.haml通过点击Cmd + t 搜索,输入"order index"并按Enter键.
但到目前为止,在RubyMine中,您无法键入顺序,因为目录未包含在搜索索引中.您可以输入"index.html.haml",但随后我会看到所有索引视图,并且订单在#80附近下降.
我也非常喜欢能够输入文件名的一部分,比如每个匹配文件的第一个字母.Sublime Text 2和PeepOpen可让您轻松完成此操作; 我很想在RubyMine中拥有它.
TL:DR; 你可以在RubyMine/IntelliJ中按目录搜索文件吗?
我正在写一个Python聊天机器人.无论技术是什么(Levenshtein,LCS,正则表达式等),我想要一个像My name is [ A ].智能足够的模式来匹配字符串,如:
My name is Tslmy. #Distance should = 0, and groupdict()['a'] outputs "Tslmy"
My name is Tesla Tahomana. #Distance should = 0(!), and groupdict()['a'] outputs "Tesla Tahomana"
my naem ist tslmy . #With a little typo, the distance = 5, and groupdict()['a'] outputs "tslmy "
Run Code Online (Sandbox Code Playgroud)
请允许我用来groupdict()['a']指代[ A ](实际上(?P<identifier>match))抓住的东西.
groupdict(),以及"模糊"值(或"编辑距离",需要确定"与字符串"稍后"匹配的最佳模式.groupdict()如果管理良好,它提供"足够" .那可能吗?感谢您的关注.
更新:
我决定最终使用强大的正则表达式模块,但仍然无法获得"模糊值".
由于 …
我正在尝试模糊匹配两个csv文件,每个文件包含一列相似但不相同的名称.
我的代码到目前为止如下:
import pandas as pd
from pandas import DataFrame
from fuzzywuzzy import process
import csv
save_file = open('fuzzy_match_results.csv', 'w')
writer = csv.writer(save_file, lineterminator = '\n')
def parse_csv(path):
with open(path,'r') as f:
reader = csv.reader(f, delimiter=',')
for row in reader:
yield row
if __name__ == "__main__":
## Create lookup dictionary by parsing the products csv
data = {}
for row in parse_csv('names_1.csv'):
data[row[0]] = row[0]
## For each row in the lookup compute the partial ratio
for row in parse_csv("names_2.csv"): …Run Code Online (Sandbox Code Playgroud) 如何以一个levenshtein距离在mongodb中获取所有文档。
我有足球队的收藏。
{
name: 'Real Madrir',
nicknames: ['Real', 'Madrid', 'Real Madrir' ... ]
}
Run Code Online (Sandbox Code Playgroud)
与用户搜索Real Madid的Maddrid或别的东西。
我想将包含昵称的所有文档返回给定搜索字符串的距离为0或1 levenshtein的所有文档。
我认为有两种方式,mongodb全文搜索或正则表达式。
那我可以写这样的正则表达式或查询吗?
谢谢。
我正在尝试设计一个查询,其中可以一起使用通配符和模糊查询。
据我所知,query_string 用于通配符搜索,而 multi_match 可用于模糊性。
我想要一个将搜索单词的查询:-
“elast”:- 提供elastic 和elasticsearch 的结果。“elasttc”:- 还提供弹性和弹性搜索的结果。
Elasticsearch同时支持通配符和模糊查询??
提前致谢...
fuzzy-search ×10
regex ×3
search ×3
algorithm ×1
bash ×1
cocoa ×1
fuzzywuzzy ×1
fzf ×1
git-bash ×1
java ×1
javascript ×1
lucene ×1
mongodb ×1
objective-c ×1
python ×1
rubymine ×1
wildcard ×1
windows ×1