jjzjj

libboost_regex-vc

全部标签

regex - 如何在 Ruby 中以 %r<…> 分隔的正则表达式进行否定回顾?

我喜欢%r定界符,因为它使识别正则表达式的开头和结尾变得非常容易,而且我不必转义任何/.但似乎它们有一个其他分隔符所没有的不可逾越的局限性?所有其他可以想象的分隔符都可以正常工作:/(?但是当我尝试这样做时:%r它给出了这个语法错误:unterminatedregexpmeetsendoffile好吧,它可能不喜欢它不是一个平衡对,但是你如何避免它让它喜欢它呢?是否需要转义?根据wikibooks.org:Anysinglenon-alpha-numericcharactercanbeusedasthedelimiter,%[includingthese], %?orthese?, %

ruby - 如何在 Ruby 中使用 RegEx 更改字符串中字母的大小写

假设我有一个字符串:“hEY”我想把它转换成“嘿”string.gsub!(/([a-z])([A-Z]+)/,'\1'.upcase)这是我的想法,但是当我在gsub方法中使用它时,upcase方法似乎什么都不做。这是为什么?编辑:我想出了这个方法:string.gsub!(/([a-z])([A-Z]+)/){|str|str.downcase!.capitalize!}有没有办法在正则表达式中做到这一点?我不太明白'\1''\2'的意思。那是反向引用吗?这是如何工作的 最佳答案 @sawa有简单的答案,你已经用另一种机制编辑了

regex - 解析食谱的自然语言成分数量

关闭。这个问题需要更多focused.它目前不接受答案。想改善这个问题吗?更新问题,使其仅关注一个问题editingthispost.去年关闭。Improvethisquestion我正在构建一个ruby​​配方管理应用程序,作为其中的一部分,我希望能够将成分数量解析为可以比较和缩放的形式。我想知道这样做的最佳工具是什么。我最初计划使用复杂的正则表达式,然后使用其他一些代码来转换人类可读的数字,例如two或five转换成整数,最后的代码将转换为1cup和3teaspoons进入一些基础测量。我控制输入,所以我将实际成分分开。但是,我注意到用户输入了抽象测量值,例如totaste和1pa

Ruby regex- gsub 存储它匹配的内容吗?

如果我用.gsub(/matchthisregex/,"replace_with_this")gsub是否将它与正则表达式匹配的内容存储在某处?我想在我的替换字符串中使用它匹配的内容。例如像"replace_with_"+matchedregexstring+"this"在我上面的例子中,matchedregexstring是来自gsub的存储匹配吗?抱歉,如果这让我感到困惑,我不知道还能怎么说。 最佳答案 来自finemanual:IfreplacementisaStringitwillbesubstitutedforthemat

ruby-on-rails - Rails - 如何将变量插入正则表达式 (Regex),例如 assert_match

我想做类似的事情assert_match/blahblahblah#{@user}/,@some_text但我运气不好。我在这里做错了什么? 最佳答案 这是将变量插入正则表达式的正确方法:irb(main):001:0>a='Hi'=>"Hi"irb(main):002:0>b=/Not#{a}/=>/NotHi/所以您的问题很可能是断言由于匹配不当而失败。检查@user和@some_text的值并尝试http://rubular.com想出一个匹配的正则表达式 关于ruby-on-ra

ruby - 使用分组时如何使用 gsub 在 Ruby 正则表达式 (regex) 中反向引用?

我想修补一些从网页中提取的文本数据。示例:t="Firstsentence.Secondsentence.Thirdsentence."第二句末尾点后没有空格。这表明第3句话在原始文档中位于单独的一行(在br标记之后)。我想使用此正则表达式将“\n”字符插入适当的位置并修补我的文本。我的正则表达式:t2=t.gsub(/([.\!?])([A-Z1-9])/,$1+"\n"+$2)但不幸的是它不起作用:“NoMethodError:undefinedmethod‘+’fornil:NilClass”如何正确反向引用匹配的组?在MicrosoftWord中非常简单,我只需使用\1和\2符

javascript - 根据在线测试工具验证 RegEx 有效,在浏览器中读取文件时未获得任何匹配项

我在社区的帮助下使用多种在线工具设计了这个正则表达式:https://regex101.com/r/hJ4pD5/1(\s[A-Z]\.).+?(?=(\s[A-Z]\.)|(\W?(Answer:)\W?))目标是提取问题的所有备选方案。根据regexr和regex101,这是一个有效的Javascript正则表达式,适用于testdata(pastebin)。:1.Questiongoeshere:A.AnsweroneB.AnswertwoC.AnswerthreeD.NotindentedAnswerAnswer:Biscorrect预期的匹配应该是:"A.回答一个",“B.回

javascript - 使用 js regex 将简单的标记样式(如 **bold** 替换为 <b>bold</b>)

我正在尝试获取一大块纯文本并将其部分转换为html标记。我不需要一个完整的富编辑器,只需要这几个标签:**bold**__underline__~~italics~~--strike-->这是我尝试编写的方法,但我缺少正则表达式/js似乎阻碍了它:functiontoMarkup($this){vartext=$this.text();text=text.replace("\*\*(.*)\*\*","$1");text=text.replace("__(.*)__","$1");text=text.replace("~~(.*)~~","$1");text=text.replace(

javascript - Regex.prototype.exec 在搜索的第二次迭代中返回 null

这个问题在这里已经有了答案:WhydoesaRegExpwithglobalflaggivewrongresults?(7个答案)关闭6年前。用例我想在一个字符串中搜索多个匹配项。每个匹配最终都链接到对象数组中的对象属性。找到匹配项后,该匹配项将替换为对象中的另一个属性。问题是代码将始终在第二个匹配项上返回null。测试用例这是我正在使用的测试用例。为了简化问题,我只是将所有匹配项替换为数字5,但请注意,最终代码会将匹配项替换为一个变量值。测试代码下面是我用来测试和调试问题的代码。有趣的是,如果我更改varstr='5+QUESTION_2',QUESTION_2会成功替换为5。本质上

javascript - Regex 只匹配 it 和 its,不匹配 it's

我正在尝试获取一个正则表达式来匹配单词it、its和it's。我正在使用\b来匹配单词,但它似乎只是匹配字符。我怎样才能让它匹配除空格以外的任何内容?到目前为止,这是正则表达式:\b(it|it's|its)\b。我怎样才能让它与它、它是和它的词完全匹配? 最佳答案 这个会起作用:\bit(?:'?s)?\b您的模式不适用于it's因为在交替中项目it(首先测试)在之前成功它是根本没有经过测试。你也可以写\b(it's|it|its)\b。 关于javascript-Regex只匹配it