草庐IT

REGEX_EXTRACT

全部标签

ruby - REGEX 匹配置信度为 100%,那么 99% 呢?

在我的应用中,用户可以输入文本,稍后我会根据future提交的内容进行搜索和提取。问题是用户有时会输入类型或忘记句点等...在ruby​​中有没有一种方法可以说匹配的置信度为X%?意思是如果匹配目标是500个字符,并且找到一个包含490个字符的匹配项,匹配它,而不是不匹配任何东西?谢谢 最佳答案 在这种情况下,正则表达式不是您的最佳工具。也许像Levenshteindistance相反? 关于ruby-REGEX匹配置信度为100%,那么99%呢?,我们在StackOverflow上找到

Ruby:为什么我在这里收到警告 "regex literal in condition"?

一个简单的Ruby程序,运行良好(使用Ruby2.0.0):#!/usr/bin/rubywhilegetsprintif/foo/../bar/end但是,Ruby还会输出警告warning:regexliteralincondition。似乎Ruby认为我的触发器表达式/foo/../bar/是危险的。我的问题:这个程序的危险在哪里?并且:我可以关闭此警告吗(最好只针对此语句,保持其他警告处于事件状态)?顺便说一句,我在网上找到了一些关于这种代码的讨论,也提到了警告,但一直没有找到一个很好的解释为什么我们会被警告。 最佳答案 您

c++ - regex_match 和 regex_search 之间的区别?

我正在尝试使用正则表达式来回答thisquestion。,并发现虽然regex_match找到匹配项,但regex_search没有。以下程序是用g++4.7.1编译的:#include#includeintmain(){conststd::strings="/home/toto/FILE_mysymbol_EVENT.DAT";std::regexrgx(".*FILE_(.+)_EVENT\\.DAT.*");std::smatchmatch;if(std::regex_match(s.begin(),s.end(),rgx))std::cout输出:regex_match:mat

c++ - regex_match 和 regex_search 之间的区别?

我正在尝试使用正则表达式来回答thisquestion。,并发现虽然regex_match找到匹配项,但regex_search没有。以下程序是用g++4.7.1编译的:#include#includeintmain(){conststd::strings="/home/toto/FILE_mysymbol_EVENT.DAT";std::regexrgx(".*FILE_(.+)_EVENT\\.DAT.*");std::smatchmatch;if(std::regex_match(s.begin(),s.end(),rgx))std::cout输出:regex_match:mat

javascript - RegEx 使用 RegExp.exec 从字符串中提取所有匹配项

我正在尝试解析以下类型的字符串:[key:"val"key2:"val2"]里面有任意key:"val"对。我想获取键名和值。对于那些好奇的人,我正在尝试解析任务战士的数据库格式。这是我的测试字符串:[description:"aoeu"uuid:"123sth"]这是为了强调除空格之外的任何内容都可以在键或值中,冒号周围没有空格,并且值始终用双引号引起来。在节点中,这是我的输出:[deuteronomy][gatlin][~]$node>varre=/^\[(?:(.+?):"(.+?)"\s*)+\]$/g>re.exec('[description:"aoeu"uuid:"123

javascript - RegEx 使用 RegExp.exec 从字符串中提取所有匹配项

我正在尝试解析以下类型的字符串:[key:"val"key2:"val2"]里面有任意key:"val"对。我想获取键名和值。对于那些好奇的人,我正在尝试解析任务战士的数据库格式。这是我的测试字符串:[description:"aoeu"uuid:"123sth"]这是为了强调除空格之外的任何内容都可以在键或值中,冒号周围没有空格,并且值始终用双引号引起来。在节点中,这是我的输出:[deuteronomy][gatlin][~]$node>varre=/^\[(?:(.+?):"(.+?)"\s*)+\]$/g>re.exec('[description:"aoeu"uuid:"123

regex - 使用正向预测 (?=regex) 和 re2

因为我对re2有点陌生,我试图弄清楚如何在Go中使用像JS、C++或任何PCRE样式的正向预测(?=regex).以下是我正在寻找的一些示例。JS:'foobarbaz'.match(/^[\s\S]+?(?=baz|$)/);Python:re.match('^[\s\S]+?(?=baz|$)','foobarbaz')注意:两个例子都匹配'foobar'非常感谢。 最佳答案 根据SyntaxDocumentation,不支持此功能:(?=re)beforetextmatchingre(NOTSUPPORTED)另外,来自Why

regex - 使用正向预测 (?=regex) 和 re2

因为我对re2有点陌生,我试图弄清楚如何在Go中使用像JS、C++或任何PCRE样式的正向预测(?=regex).以下是我正在寻找的一些示例。JS:'foobarbaz'.match(/^[\s\S]+?(?=baz|$)/);Python:re.match('^[\s\S]+?(?=baz|$)','foobarbaz')注意:两个例子都匹配'foobar'非常感谢。 最佳答案 根据SyntaxDocumentation,不支持此功能:(?=re)beforetextmatchingre(NOTSUPPORTED)另外,来自Why

regex - 使用函数替换正则表达式子匹配

假设我有像这样的字符串input:=`blablab:foo="hop"blablablab:bar="hu?"`我想使用函数替换b:foo="hop"或b:bar="hu?"中引号之间的部分。很容易构建一个正则表达式来获取匹配和子匹配,例如r:=regexp.MustCompile(`\bb:\w+="([^"]+)"`)然后调用ReplaceAllStringFunc但问题是回调接收整个匹配而不是子匹配:fmt.Println(r.ReplaceAllStringFunc(input,func(mstring)string{//misthewholematchhere.Damn.}

regex - 使用函数替换正则表达式子匹配

假设我有像这样的字符串input:=`blablab:foo="hop"blablablab:bar="hu?"`我想使用函数替换b:foo="hop"或b:bar="hu?"中引号之间的部分。很容易构建一个正则表达式来获取匹配和子匹配,例如r:=regexp.MustCompile(`\bb:\w+="([^"]+)"`)然后调用ReplaceAllStringFunc但问题是回调接收整个匹配而不是子匹配:fmt.Println(r.ReplaceAllStringFunc(input,func(mstring)string{//misthewholematchhere.Damn.}