标签: matching

在python中查找关键字后面的单词

我想找到关键字后面出现的单词(由我指定和搜索)并打印出结果.我知道我想使用正则表达式来做它,我也尝试过,像这样:

import re
s = "hi my name is ryan, and i am new to python and would like to learn more"
m = re.search("^name: (\w+)", s)
print m.groups()
Run Code Online (Sandbox Code Playgroud)

输出只是:

"is"
Run Code Online (Sandbox Code Playgroud)

但是我希望得到"名字"这个词之后的所有单词和标点符号.

python regex keyword matching

19
推荐指数
4
解决办法
6万
查看次数

使用GenMatch中的标准偏差来鼓励更多对

因此,请遵循匹配包中的示例,特别是GenMatch示例.这是从前一个问题继续

链接到R包这里

按照中的例子 GenMatch

library(Matching)
data(lalonde)
attach(lalonde)

X = cbind(age, educ, black, hisp, married, nodegr, u74, u75, re75, re74)

BalanceMat <- cbind(age, educ, black, hisp, married, nodegr, u74, u75, re75, re74,
                    I(re74*re75))

genout <- GenMatch(Tr=treat, X=X, BalanceMatrix=BalanceMat, estimand="ATE", M=1,
                   pop.size=16, max.generations=10, wait.generations=1)

genout$matches
genout$ecaliper

Y=re78/1000

mout <- Match(Y=Y, Tr=treat, X=X, Weight.matrix=genout)
summary(mout)
Run Code Online (Sandbox Code Playgroud)

我们看到185个治疗观察与270个非治疗观察配对.

我们可以通过以下方式生成一个表格,其中包含左侧的治疗病例及其年龄,以及右侧的对照病例和年龄:

pairs <- data.frame(mout$index.treated, lalonde$age[mout$index.treated], mout$index.control, lalonde$age[mout$index.control])
Run Code Online (Sandbox Code Playgroud)

现在,关于Weight.Matrix生成的文献GenMatch是非常神秘的,并没有解释这些值代表什么.我在这里有一个未解决的问题.现在假设我们想要放宽匹配,以便在年龄标准上进行更灵活的配对.

我们看到这sd(lalonde$age)为我们的数据提供了7年的SD.

所以我想要Weight.matrix解释这一点.我想对age变量使用1 SD的限制,因此返回比原始185-270更多的对.

我的猜测是生成第二个GenMatch函数,然后继续我的代码.所以我使用: …

r match matching standard-deviation

19
推荐指数
1
解决办法
397
查看次数

我可以在C#中使用带有String.Replace的正则表达式吗?

例如,我的代码低于字符串txt ="我有像西方,西方,西方和西方的字符串."

我想用其他一些词代替西方或西方这个词.但我不想在西方取代西方.

  1. 我可以在string.replace中使用正则表达式吗?我用 inputText.Replace("(\\sWest.\\s)",temp);It dos不行.

c# regex string text matching

18
推荐指数
3
解决办法
4万
查看次数

如何构建匹配算法?

我以前从未构建过匹配算法,也不知道从哪里开始.所以这是我的基本设置以及我为什么这样做.如果我没有问正确的问题,请随意纠正我.

我有一个人名的名字和唯一标识符的数据库.几个生成的标识符(内部生成的和一些第三方),姓氏,名字和出生日期是我将使用的主要标识符.

我全年多次收到第三方列表,该列表需要导入并绑定到我数据库中的现有人员,但数据从未像我的一样干净.ID可能会更改,出生日期可能会出现拼写错误,姓名可能会出现拼写错误,姓氏可能会更改,等等.

每次导入都可能有20,000条记录,所以即使它准确率为99%,仍然需要200条记录,我必须手动进行匹配.我认为在将传入的人员与我的用户进行匹配时,我正在寻找更高达99.9%的准确率.

那么,我该如何制作一个可以解决这个问题的算法呢?

PS即使您没有确切的答案,但知道一些材料可供参考也会有所帮助.

PPS一些例子与m3rLinEz写的类似:

ID: 9876234 Fname: Jose     LName: Guitierrez       Birthdate:01/20/84  '- Original'

ID: 9876234 Fname: Jose     LName: Guitierrez       Birthdate:10/20/84  '- Typo in birth date'
ID: 0876234 Fname: Jose     LName: Guitierrez       Birthdate:01/20/84  '- Wrong ID'
ID: 9876234 Fname: Jose     LName: Guitierrez-Brown Birthdate:01/20/84  '- Hyphenated last name'
ID: 9876234 Fname: Jose, A. LName: Guitierrez       Birthdate:01/20/84  '- Added middle initial'
ID: 3453555 Fname: Joseph   LName: Guitierrez       Birthdate:01/20/84  '- Probably someone else with same birthdate and same last name'
Run Code Online (Sandbox Code Playgroud)

algorithm matching

17
推荐指数
1
解决办法
3860
查看次数

Java中的字符串模式匹配

我想在输入sting中搜索给定的字符串模式.

对于Eg.

String URL = "https://localhost:8080/sbs/01.00/sip/dreamworks/v/01.00/cui/print/$fwVer/{$fwVer}/$lang/en/$model/{$model}/$region/us/$imageBg/{$imageBg}/$imageH/{$imageH}/$imageSz/{$imageSz}/$imageW/{$imageW}/movie/Kung_Fu_Panda_two/categories/3D_Pix/item/{item}/_back/2?$uniqueID={$uniqueID}"
Run Code Online (Sandbox Code Playgroud)

现在我需要搜索字符串URL是否包含" /{item}/".请帮我.

这是一个例子.其实我需要检查URL是否包含匹配"/ {a-zA-Z0-9} /"的字符串

java string matching

17
推荐指数
2
解决办法
18万
查看次数

无法在android中实现描述符

我正在创建一个查找两个图像之间匹配的应用程序.我无法正确找到匹配结果.

匹配方法给出了与输入关键点相同数量的描述符,我也无法绘制此结果.我在工作区中使用OpenCV作为库.

这是我的代码.

  Bitmap mBitmap1 = mimage1.copy(Bitmap.Config.ARGB_8888, false); 
  Bitmap mBitmap2 = mimage2.copy(Bitmap.Config.ARGB_8888, false); 

  Mat s_image1 = Utils.bitmapToMat(mBitmap1);
  Mat s_image2 = Utils.bitmapToMat(mBitmap2);

  Mat rgb1 = new Mat();
  Mat rgb2 = new Mat();
  Mat rgb3 = new Mat();
  Mat temp = new Mat();

  Mat o_image1 = new Mat();
  Mat o_image2 = new Mat();
  Mat o_image3 = new Mat();

  List<KeyPoint> points1 = new ArrayList<KeyPoint>();
  List<KeyPoint> points2 = new ArrayList<KeyPoint>();
  List<DMatch> matches = new ArrayList<DMatch>();

  FeatureDetector surf = FeatureDetector.create(FeatureDetector.SURF);
  surf.detect(s_image1, points1);
  surf.detect(s_image2, points2);

  Scalar …
Run Code Online (Sandbox Code Playgroud)

java android opencv matching feature-descriptor

17
推荐指数
1
解决办法
1614
查看次数

R中的部分动物串匹配

我有一个数据帧,

d<-data.frame(name=c("brown cat", "blue cat", "big lion", "tall tiger",
                     "black panther", "short cat", "red bird",
                     "short bird stuffed", "big eagle", "bad sparrow",
                     "dog fish", "head dog", "brown yorkie",
                     "lab short bulldog"), label=1:14)
Run Code Online (Sandbox Code Playgroud)

我想搜索name专栏,如果出现"cat","lion","tiger"和"panther"这两个字,我想将字符串分配给feline新列和相应的行species.

如果"bird", "eagle", and "sparrow"出现单词,我想将字符串分配给avian新列和相应的行species.

如果出现"dog","yorkie"和"bulldog"字样,我想将字符串分配给canine新列和相应的行species.

理想情况下,我将它存储在一个列表或类似的东西中,我可以保留在脚本的开头,因为当物种的新变种出现在名称类别中时,可以轻松访问更新符合条件的内容为feline,aviancanine.

这里几乎已经回答了这个问题(如何根据R中其他列的部分字符串匹配在数据框中创建新列),但它没有解决此问题中存在的多个名称扭曲.

string r matching dataframe

16
推荐指数
1
解决办法
3万
查看次数

在vim中将一对括号更改为括号的最快方法

我是vim的新手,在发现大量有趣的东西的过程中,人们可以使用这个强大的编辑器.

我需要经常做的一件事是将文本中的一对括号更改为方括号(例如更改( (a+b+c) )[ (a+b+c) ])或反之亦然.我现在通过手动改变两个字符做到这一点(,并)[].

但是,当括号之间有大量文本时,可能很难找到一对开括号和右括号,特别是因为在将第一个更改([之后,%命令将不再能够找到相应的).

我想知道是否有更好更快的方法进行此类更改?

vim matching parentheses

16
推荐指数
4
解决办法
7855
查看次数

从其排列构造字符串,最少跳回

找到多项式时间算法或证明以下问题的 np 难度:

给定两个字符串s1=a1, a2,...,aks2=b1,...,bk,其中s2是 的随机排列s1

我们现在想要s1构建s2. 建设工程如下:

从 中选择一个字母s2,等于a1并将其删除。

继续,用字母a2并将其删除等等,直到s2为空。

请注意,同一个字母可以在 中出现多次s2。让C = c1, c2,...,ck为构造的序列,因此C = s1。我们定义为需要跳回以选择下一个字母l的次数。s2

例如,如果我们选择c3和,但原始 中的c4索引小于原始 中的索引,我们就会加一。c4s2c3s2l

我们的任务是找到最佳序列,使之l最小。例如,如果给定s1=abacs2=acab输出必须为 1,因为我们可以从 中选取第二个“a” s2,然后选择“b”,然后跳回并选取第一个“a”,然后添加“c”。

我不知道如何在多项式时间内解决这个问题。我想也许有某种方法可以计算完美匹配并读取最佳序列,但我不确定。到目前为止,我只有指数算法。

指数算法如下(不确定是否正确,不知道如何测试):

def solvenaive(s1, s2, curr_ind):
    if len(s1) == 0: …
Run Code Online (Sandbox Code Playgroud)

python string algorithm optimization matching

16
推荐指数
1
解决办法
772
查看次数

有效匹配另一个向量中一个向量的所有值

我正在寻找一种有效的x方法来匹配向量中向量的所有值,y而不仅仅是第一个位置,如match(). 我本质上追求的是默认行为pmatch(),但没有部分匹配:

x <- c(3L, 1L, 2L, 3L, 3L, 2L)
y <- c(3L, 3L, 3L, 3L, 1L, 3L)
Run Code Online (Sandbox Code Playgroud)

预期输出:

pmatch(x, y)  
[1]  1  5 NA  2  3 NA
Run Code Online (Sandbox Code Playgroud)

一种方法是使用ave(),但是随着组数量的增加,这会变得很慢并且内存效率很低:

ave(x, x, FUN = \(v) which(y == v[1])[1:length(v)])
[1]  1  5 NA  2  3 NA
Run Code Online (Sandbox Code Playgroud)

任何人都可以推荐一种有效的方法来在优选(但不是强制)的基础 R 中实现这一目标吗?

用于基准测试的更大数据集:

set.seed(5)
x <- sample(5e3, 1e5, replace = TRUE)
y <- sample(x, replace = TRUE)
Run Code Online (Sandbox Code Playgroud)

optimization performance search r matching

16
推荐指数
3
解决办法
1462
查看次数