标签: string-matching

JavaScript正则表达式 - 两个[az]后跟三个[0-9]

我有一个简单的正则表达式:

[A-z]{2}[0-9]{3})$/g 在以下内容中:

regForm.submit(function(){
  if ($.trim($('#new-usr').val()).match(/([A-z]{2}[0-9]{3})$/g)) {
    alert('No');
    return false;
  }
});
Run Code Online (Sandbox Code Playgroud)

这是正确阅读的东西,如'ab123'提供警报,'ab1234'但没有.但是,'abc123'仍在抛出警报.我需要它,所以当它只有2个字母后跟三个数字时才会发出警报.

javascript regex string string-matching

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

首次出现并行字符串匹配算法

要预先,这功课.话虽如此,它是非常开放的,我们几乎没有关于如何开始考虑这个问题(或一般的并行算法)的指导.我想指向正确的方向,而不是完整的解决方案.任何可能有帮助的阅读都会很好.

我正在研究一种有效的方法,使用并行算法匹配大量文本中第一次出现的模式.模式是简单的字符匹配,不涉及正则表达式.我已经设法找到了找到所有比赛的可能方法,但那要求我查看所有比赛并找到第一个比赛.

所以问题是,我是否会在流程和扫描方式之间取得更多成功?或者最好是进行某种类型的进程同步搜索,其中第j个进程搜索模式的第j个字符?如果所有进程都为其匹配返回true,则进程将改变它们在匹配所述模式中的位置并再次向上移动,继续直到所有字符都已匹配,然后返回第一个匹配的索引.

到目前为止我所拥有的是非常基本的,而且很可能不起作用.我不会实现这一点,但任何指针都将不胜感激.

使用p个处理器,长度为t的文本,长度为L的模式,以及使用的L个处理器的上限:

 for i=0 to t-l:
    for j=0 to p:
        processor j compares the text[i+j] to pattern[i+j]
            On false match:
                all processors terminate current comparison, i++
            On true match by all processors:
                Iterate p characters at a time until L characters have been compared
                If all L comparisons return true:
                    return i (position of pattern)
                Else:
                    i++

language-agnostic algorithm parallel-processing string-matching

8
推荐指数
2
解决办法
2135
查看次数

PHP中的字符串相似性:levenshtein类似于长字符串的函数

levenshteinPHP中的函数适用于最大长度为255的字符串.在PHP中计算句子相似度得分的好方法是什么.

基本上我有一个句子数据库,我想找到近似重复. similar_text功能不给我预期的结果.对我来说,检测类似句子的最简单方法是:

$ss="Jack is a very nice boy, isn't he?";
$pp="jack is a very nice boy is he";

$ss=strtolower($ss);  // convert to lower case as we dont care about case
$pp=strtolower($pp);

$score=similar_text($ss, $pp);
echo "$score %\n";  // Outputs just 29 %

$score=levenshtein ( $ss, $pp );
echo "$score\n";  // Outputs '5', which indicates they are very similar. But, it does not work for more than 255 chars :(
Run Code Online (Sandbox Code Playgroud)

php similarity string-matching

8
推荐指数
1
解决办法
8959
查看次数

如何验证密码是否包含X大写字母和Y数字?

如何在C#中验证密码至少包含X个大写字母和至少Y个数字,并且整个字符串长于Z?

谢谢.

c# string-matching

8
推荐指数
2
解决办法
5352
查看次数

如何在Delphi中实现一组标准的超链接检测规则

我目前在我的程序中自动检测文本中的超链接.我做的很简单,只查找http://www.

但是,用户建议我将其扩展为其他形式,例如:https://.com

然后我意识到它可能不止于此,因为有ftp和mailto和文件,所有其他顶级域名,甚至电子邮件地址和文件路径.

我认为最好的方法是通过遵循当前使用的一些常用的标准超链接检测规则集来限制它.也许Microsoft Word是如何做到的,或者RichEdit是如何做到的,或者你知道更好的标准.

所以我的问题是:

是否有内置函数,我可以从Delphi调用来进行检测,如果有,那么调用会是什么样的?(我计划将来去FireMonkey,所以我更喜欢能在Windows之外运行的东西.)

如果没有可用的功能,是否有一些地方我可以找到一组记录在Word,RichEdit中检测到的内容的规则,或者应该检测到的任何其他规则集?那将允许我自己编写检测代码.

delphi hyperlink string-matching

8
推荐指数
1
解决办法
435
查看次数

通过模糊匹配名称创建唯一ID(通过使用R的agrep)

使用R,我尝试在按年份和城市构建的数据集中匹配人名.由于一些拼写错误,无法进行精确匹配,因此我尝试使用agrep()来模糊匹配名称.

数据集的样本块结构如下:

df <- data.frame(matrix( c("1200013","1200013","1200013","1200013","1200013","1200013","1200013","1200013",                             "1996","1996","1996","1996","2000","2000","2004","2004","AGUSTINHO FORTUNATO FILHO","ANTONIO PEREIRA NETO","FERNANDO JOSE DA COSTA","PAULO CEZAR FERREIRA DE ARAUJO","PAULO CESAR FERREIRA DE ARAUJO","SEBASTIAO BOCALOM RODRIGUES","JOAO DE ALMEIDA","PAULO CESAR FERREIRA DE ARAUJO"), ncol=3,dimnames=list(seq(1:8),c("citycode","year","candidate")) ))
Run Code Online (Sandbox Code Playgroud)

整洁的版本:

  citycode year                      candidate
1  1200013 1996      AGUSTINHO FORTUNATO FILHO
2  1200013 1996           ANTONIO PEREIRA NETO
3  1200013 1996         FERNANDO JOSE DA COSTA
4  1200013 1996 PAULO CEZAR FERREIRA DE ARAUJO
5  1200013 2000 PAULO CESAR FERREIRA DE ARAUJO
6  1200013 2000    SEBASTIAO BOCALOM RODRIGUES
7  1200013 2004 …
Run Code Online (Sandbox Code Playgroud)

r fuzzy string-matching agrep

8
推荐指数
1
解决办法
1788
查看次数

如何查找包含两个唯一重复字符的最长子字符串

任务是找到给定字符串中由任意两个唯一重复字符
Ex 组成的最长子字符串.在输入字符串"aabadefghaabbaagad"中,最长的字符串是"aabbaa"

我想出了以下解决方案,但想看看是否有更有效的方法来做同样的事情

import java.util.*; 

public class SubString {
    public static void main(String[] args) { 
    //String inStr="defghgadaaaaabaababbbbbbd";
    String inStr="aabadefghaabbaagad";
    //String inStr="aaaaaaaaaaaaaaaaaaaa";
    System.out.println("Input string is         "+inStr);

    StringBuilder sb = new StringBuilder(inStr.length());
    String subStr="";
    String interStr="";
    String maxStr="";
    int start=0,length=0, maxStart=0, maxlength=0, temp=0;

    while(start+2<inStr.length())   
    {    int i=0;
         temp=start;
         char x = inStr.charAt(start);
         char y = inStr.charAt(start+1);
         sb.append(x);
         sb.append(y);

         while( (x==y) && (start+2<inStr.length()) )
         {    start++;
              y = inStr.charAt(start+1);
              sb.append(y);
         }

         subStr=inStr.substring(start+2);
         while(i<subStr.length())
         {    if(subStr.charAt(i)==x || subStr.charAt(i)==y )
              {    sb.append(subStr.charAt(i));
                   i++;
              } …
Run Code Online (Sandbox Code Playgroud)

java string-matching

8
推荐指数
1
解决办法
9738
查看次数

PostgreSQL和文字游戏

在类似于Ruzzle或Letterpress的文字游戏中,用户必须使用给定的一组字母构造单词:

在此输入图像描述

我将字典保存在一个简单的SQL表中:

create table good_words (
        word varchar(16) primary key
);
Run Code Online (Sandbox Code Playgroud)

由于游戏持续时间非常短,我不想通过调用PHP脚本来检查每个输入的单词,这将在good_words表格中查找该单词.

相反,我希望在回合开始前通过一个PHP脚本调用下载所有可能的单词 - 因为所有字母都是已知的.

我的问题是:如果有一个很好的SQLish方法来找到这样的单词?

即我可以运行一个较长的脚本一次向good_words表添加一个列,它将具有与wordcolumnt 相同的字母,但按字母顺序排序...但我仍然想不出一种方法来匹配它给定一个集合的字母.

在PHP脚本内部(与数据库内部)进行单词匹配可能需要很长时间(因为带宽:必须从数据库中获取每一行到PHP脚本).

有什么建议或见解吗?

在CentOS Linux 6.3中使用postgresql-8.4.13.

更新:

我有其他想法:

  1. 创建一个不断运行的脚本(cronjob或daemon),它可以预填充一个带有预编译字母板和可能单词的SQL表 - 但仍然感觉浪费带宽和CPU,我宁愿在数据库中解决这个问题
  2. 添加整数列a,b......,z每当我存储wordgood_words,存储字母出现次数在那里.我想知道是否可以在Pl/PgSQL中创建插入触发器

postgresql permutation plpgsql string-matching postgresql-8.4

8
推荐指数
1
解决办法
1064
查看次数

在LINQ中查找字符串A中字符串B的子字符串C的最有效方法

有2个字符串,如:

string a = "ATTAGACCTGCCGGAA";
string b = "GCCGGAATAC";
Run Code Online (Sandbox Code Playgroud)

我想删除两个字符串中常见的部分,然后将其连接起来.我必须告诉我需要删除的只留下匹配的部分所以我会得到

输入

 ATTAGACCTGCCGGAA
          GCCGGAATAC
Run Code Online (Sandbox Code Playgroud)

产量

ATTAGACCTGCCGGAATAC
Run Code Online (Sandbox Code Playgroud)

首先我想使用一个模式,然后使用seacrh,但这是不可能的,因为我事先不知道模式(匹配的字符的长度是可变的)

后来我想搜索整个字符串ba那么如果没有更迭,删除字符串一个char a(最后一个,因为我想保留最左边无与伦比的字符串),然后循环播放,直到我有没有更多的字符b

string a = "ATTAGACCTGCCGGAA";
string b = "GCCGGAATAC";
int times = b.Length;
string wantedString = string.Empty;
string auxString = b;
while (times > 0)
{

    if (!a.Contains(auxString))
    {
        //save last char and then delete it from auxString
        wantedString += auxString[auxString.Length - 1];
        auxString = auxString.TrimEnd(auxString[auxString.Length - 1]);
    }
    else
        break;
    times--;
}
//reverse string 
char[] …
Run Code Online (Sandbox Code Playgroud)

c# algorithm string-matching

8
推荐指数
1
解决办法
290
查看次数

使用递归神经网络进行字符串匹配

我最近开始探索回归神经网络.到目前为止,我已经使用Andrej Karpathy的博客在tensorFlow上训练了角色级语言模型.它很棒.

然而,我无法找到任何关于使用RNN进行字符串匹配或关键字定位的研究.对于我的一个项目,我需要对扫描文档进行OCR,然后解析转换后的文本以获取关键数据点.大多数字符串匹配技术都无法包含OCR转换错误,从而导致严重错误.

是否可以根据我收到的转换文本的变化来训练RNN并将其用于查找关键字.

machine-learning string-matching tensorflow recurrent-neural-network

8
推荐指数
1
解决办法
2254
查看次数